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
|
return out
|
||||||
def nav_get_prev_comic(self, comic_path):
|
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)
|
comic_path = urlsafe_base64_decode(comic_path)
|
||||||
directory, comic = path.split(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)
|
comic_index = dir_list.index(comic)
|
||||||
if comic_index == 0:
|
if comic_index == 0:
|
||||||
comic_path = urlsafe_base64_encode(directory)
|
comic_path = urlsafe_base64_encode(directory)
|
||||||
@@ -90,13 +90,18 @@ class ComicBook(models.Model):
|
|||||||
else:
|
else:
|
||||||
prev_comic = dir_list[comic_index - 1]
|
prev_comic = dir_list[comic_index - 1]
|
||||||
comic_path = path.join(directory, prev_comic)
|
comic_path = path.join(directory, prev_comic)
|
||||||
try:
|
if not path.isdir(path.join(base_dir, prev_comic)):
|
||||||
book = ComicBook.objects.get(file_name=prev_comic)
|
print path.join(base_dir, prev_comic)
|
||||||
except ComicBook.DoesNotExist:
|
print path.join(base_dir, prev_comic)
|
||||||
book = process_comic_book(base_dir, comic_path, prev_comic)
|
try:
|
||||||
index = ComicPage.objects.filter(Comic=book).count() - 1
|
book = ComicBook.objects.get(file_name=prev_comic)
|
||||||
print index
|
except ComicBook.DoesNotExist:
|
||||||
comic_path = urlsafe_base64_encode(comic_path)
|
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
|
return comic_path, index
|
||||||
def nav_get_next_comic(self, comic_path):
|
def nav_get_next_comic(self, comic_path):
|
||||||
base_dir = Setting.objects.get(name='BASE_DIR')
|
base_dir = Setting.objects.get(name='BASE_DIR')
|
||||||
|
|||||||
@@ -21,7 +21,11 @@
|
|||||||
<br/>
|
<br/>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
{% if nav.q_prev_to_directory %}
|
{% 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 %}
|
{% else %}
|
||||||
<a href="/comic/read/{{ nav.prev_path }}/{{ nav.prev_index }}/" class="btn btn-default">Prev</a>
|
<a href="/comic/read/{{ nav.prev_path }}/{{ nav.prev_index }}/" class="btn btn-default">Prev</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@@ -38,7 +42,11 @@
|
|||||||
<button class="btn btn-default">No Pages</button>
|
<button class="btn btn-default">No Pages</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if nav.q_next_to_directory %}
|
{% 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 %}
|
{% else %}
|
||||||
<a href="/comic/read/{{ nav.next_path }}/{{ nav.next_index }}/" class="btn btn-default">Next</a>
|
<a href="/comic/read/{{ nav.next_path }}/{{ nav.next_index }}/" class="btn btn-default">Next</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
from django.utils.http import urlsafe_base64_encode
|
from django.utils.http import urlsafe_base64_encode
|
||||||
from comic.models import ComicBook, ComicPage
|
|
||||||
from unrar import rarfile
|
|
||||||
import zipfile
|
|
||||||
from os import path
|
from os import path
|
||||||
import os
|
import os
|
||||||
|
|
||||||
@@ -13,7 +10,8 @@ class Breadcrumb:
|
|||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
class DirFile:
|
class DirFile:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user