diff --git a/comic/models.py b/comic/models.py index edf1544..abdcfc6 100644 --- a/comic/models.py +++ b/comic/models.py @@ -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') diff --git a/comic/templates/comic/read_comic.html b/comic/templates/comic/read_comic.html index d3acbf5..d8b90b1 100644 --- a/comic/templates/comic/read_comic.html +++ b/comic/templates/comic/read_comic.html @@ -21,7 +21,11 @@
{% if nav.q_prev_to_directory %} - Next + {% if nav.prev_path %} + Next + {% else %} + Next + {% endif %} {% else %} Prev {% endif %} @@ -38,7 +42,11 @@ {% endif %} {% if nav.q_next_to_directory %} - Next + {% if nav.next_path %} + Next + {% else %} + Next + {% endif %} {% else %} Next {% endif %} diff --git a/comic/util.py b/comic/util.py index 4e2b9ae..39c8135 100644 --- a/comic/util.py +++ b/comic/util.py @@ -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):