fixed prev/next issues with directories being intersperced.

This commit is contained in:
2015-06-18 22:40:28 +01:00
parent fdf783dbc7
commit 02494bf9eb
3 changed files with 26 additions and 15 deletions

View File

@@ -79,10 +79,10 @@ class ComicBook(models.Model):
return out
def nav_get_prev_comic(self, comic_path):
base_dir = Setting.objects.get(name='BASE_DIR')
base_dir = Setting.objects.get(name='BASE_DIR').value
comic_path = urlsafe_base64_decode(comic_path)
directory, comic = path.split(comic_path)
dir_list = os.listdir(path.join(base_dir.value, directory))
dir_list = os.listdir(path.join(base_dir, directory))
comic_index = dir_list.index(comic)
if comic_index == 0:
comic_path = urlsafe_base64_encode(directory)
@@ -90,13 +90,18 @@ class ComicBook(models.Model):
else:
prev_comic = dir_list[comic_index - 1]
comic_path = path.join(directory, prev_comic)
try:
book = ComicBook.objects.get(file_name=prev_comic)
except ComicBook.DoesNotExist:
book = process_comic_book(base_dir, comic_path, prev_comic)
index = ComicPage.objects.filter(Comic=book).count() - 1
print index
comic_path = urlsafe_base64_encode(comic_path)
if not path.isdir(path.join(base_dir, prev_comic)):
print path.join(base_dir, prev_comic)
print path.join(base_dir, prev_comic)
try:
book = ComicBook.objects.get(file_name=prev_comic)
except ComicBook.DoesNotExist:
book = process_comic_book(base_dir, comic_path, prev_comic)
index = ComicPage.objects.filter(Comic=book).count() - 1
comic_path = urlsafe_base64_encode(comic_path)
else:
comic_path = urlsafe_base64_encode(directory)
index = -1
return comic_path, index
def nav_get_next_comic(self, comic_path):
base_dir = Setting.objects.get(name='BASE_DIR')

View File

@@ -21,7 +21,11 @@
<br/>
<div class="btn-group">
{% if nav.q_prev_to_directory %}
<a href="/comic/{{ nav.prev_path }}/" class="btn btn-default">Next</a>
{% if nav.prev_path %}
<a href="/comic/{{ nav.prev_path }}/" class="btn btn-default">Next</a>
{% else %}
<a href="/comic/" class="btn btn-default">Next</a>
{% endif %}
{% else %}
<a href="/comic/read/{{ nav.prev_path }}/{{ nav.prev_index }}/" class="btn btn-default">Prev</a>
{% endif %}
@@ -38,7 +42,11 @@
<button class="btn btn-default">No Pages</button>
{% endif %}
{% if nav.q_next_to_directory %}
<a href="/comic/{{ nav.next_path }}/" class="btn btn-default">Next</a>
{% if nav.next_path %}
<a href="/comic/{{ nav.next_path }}/" class="btn btn-default">Next</a>
{% else %}
<a href="/comic/" class="btn btn-default">Next</a>
{% endif %}
{% else %}
<a href="/comic/read/{{ nav.next_path }}/{{ nav.next_index }}/" class="btn btn-default">Next</a>
{% endif %}

View File

@@ -1,7 +1,4 @@
from django.utils.http import urlsafe_base64_encode
from comic.models import ComicBook, ComicPage
from unrar import rarfile
import zipfile
from os import path
import os
@@ -13,7 +10,8 @@ class Breadcrumb:
def __str__(self):
return self.name
def __unicode__(self):
return self.name
class DirFile:
def __init__(self):