mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 06:17:17 +00:00
fixed prev/next issues with directories being intersperced.
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user