mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 14:17:19 +00:00
converted to python 3,
fixed warnings for django 1.10
This commit is contained in:
@@ -107,3 +107,5 @@ STATIC_URL = '/static/'
|
|||||||
LOGIN_REDIRECT_URL = '/comic/'
|
LOGIN_REDIRECT_URL = '/comic/'
|
||||||
|
|
||||||
LOGIN_URL = '/login/'
|
LOGIN_URL = '/login/'
|
||||||
|
|
||||||
|
UNRAR_TOOL = 'C:/Program Files/WinRAR/unrar'
|
||||||
@@ -15,12 +15,14 @@ Including another URLconf
|
|||||||
"""
|
"""
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
import comic_auth.views
|
||||||
|
import comic.views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'^$', 'comic.views.comic_redirect'),
|
url(r'^$', comic.views.comic_redirect),
|
||||||
url(r'^login/', 'comic_auth.views.comic_login'),
|
url(r'^login/', comic_auth.views.comic_login),
|
||||||
url(r'^logout/', 'comic_auth.views.comic_logout'),
|
url(r'^logout/', comic_auth.views.comic_logout),
|
||||||
url(r'^setup/', 'comic.views.initial_setup'),
|
url(r'^setup/', comic.views.initial_setup),
|
||||||
url(r'^comic/', include('comic.urls')),
|
url(r'^comic/', include('comic.urls')),
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
url(r'^admin/', include(admin.site.urls)),
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ from comic import rarfile
|
|||||||
from comic.util import get_ordered_dir_list
|
from comic.util import get_ordered_dir_list
|
||||||
import zipfile
|
import zipfile
|
||||||
from os import path
|
from os import path
|
||||||
|
from cbreader.settings import UNRAR_TOOL
|
||||||
|
|
||||||
|
rarfile.UNRAR_TOOL = UNRAR_TOOL
|
||||||
|
|
||||||
class Setting(models.Model):
|
class Setting(models.Model):
|
||||||
name = models.CharField(max_length=100, unique=True)
|
name = models.CharField(max_length=100, unique=True)
|
||||||
@@ -84,12 +86,12 @@ class ComicBook(models.Model):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def nav_get_prev_comic(comic_path):
|
def nav_get_prev_comic(comic_path):
|
||||||
base_dir = Setting.objects.get(name='BASE_DIR').value
|
base_dir = Setting.objects.get(name='BASE_DIR').value
|
||||||
comic_path = urlsafe_base64_decode(comic_path)
|
comic_path = urlsafe_base64_decode(comic_path).decode()
|
||||||
directory, comic = path.split(comic_path)
|
directory, comic = path.split(comic_path)
|
||||||
dir_list = get_ordered_dir_list(path.join(base_dir, directory))
|
dir_list = get_ordered_dir_list(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.encode())
|
||||||
index = -1
|
index = -1
|
||||||
else:
|
else:
|
||||||
prev_comic = dir_list[comic_index - 1]
|
prev_comic = dir_list[comic_index - 1]
|
||||||
@@ -100,16 +102,16 @@ class ComicBook(models.Model):
|
|||||||
except ComicBook.DoesNotExist:
|
except ComicBook.DoesNotExist:
|
||||||
book = ComicBook.process_comic_book(base_dir, comic_path, prev_comic)
|
book = ComicBook.process_comic_book(base_dir, comic_path, prev_comic)
|
||||||
index = ComicPage.objects.filter(Comic=book).count() - 1
|
index = ComicPage.objects.filter(Comic=book).count() - 1
|
||||||
comic_path = urlsafe_base64_encode(comic_path)
|
comic_path = urlsafe_base64_encode(comic_path.encode())
|
||||||
else:
|
else:
|
||||||
comic_path = urlsafe_base64_encode(directory)
|
comic_path = urlsafe_base64_encode(directory.encode())
|
||||||
index = -1
|
index = -1
|
||||||
return comic_path, index
|
return comic_path, index
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def nav_get_next_comic(comic_path):
|
def nav_get_next_comic(comic_path):
|
||||||
base_dir = Setting.objects.get(name='BASE_DIR')
|
base_dir = Setting.objects.get(name='BASE_DIR')
|
||||||
comic_path = urlsafe_base64_decode(comic_path)
|
comic_path = urlsafe_base64_decode(comic_path).decode()
|
||||||
directory, comic = path.split(comic_path)
|
directory, comic = path.split(comic_path)
|
||||||
dir_list = get_ordered_dir_list(path.join(base_dir.value, directory))
|
dir_list = get_ordered_dir_list(path.join(base_dir.value, directory))
|
||||||
comic_index = dir_list.index(comic)
|
comic_index = dir_list.index(comic)
|
||||||
@@ -194,11 +196,11 @@ class ComicBook(models.Model):
|
|||||||
if path.isdir(path.join(base_dir, comic_path, fn)):
|
if path.isdir(path.join(base_dir, comic_path, fn)):
|
||||||
df.isdir = True
|
df.isdir = True
|
||||||
df.icon = 'glyphicon-folder-open'
|
df.icon = 'glyphicon-folder-open'
|
||||||
df.location = urlsafe_base64_encode(path.join(comic_path, fn))
|
df.location = urlsafe_base64_encode(path.join(comic_path.encode(), fn.encode()))
|
||||||
elif fn.lower()[-4:] in ['.rar', '.zip', '.cbr', '.cbz']:
|
elif fn.lower()[-4:] in ['.rar', '.zip', '.cbr', '.cbz']:
|
||||||
df.iscb = True
|
df.iscb = True
|
||||||
df.icon = 'glyphicon-book'
|
df.icon = 'glyphicon-book'
|
||||||
df.location = urlsafe_base64_encode(path.join(comic_path, fn))
|
df.location = urlsafe_base64_encode(path.join(comic_path.encode(), fn.encode()))
|
||||||
try:
|
try:
|
||||||
book = ComicBook.objects.get(file_name=fn)
|
book = ComicBook.objects.get(file_name=fn)
|
||||||
status, _ = ComicStatus.objects.get_or_create(comic=book, user=user)
|
status, _ = ComicStatus.objects.get_or_create(comic=book, user=user)
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ def generate_breadcrumbs_from_path(comic_path):
|
|||||||
bc = Breadcrumb()
|
bc = Breadcrumb()
|
||||||
bc.name = item
|
bc.name = item
|
||||||
last = path.join(last, item)
|
last = path.join(last, item)
|
||||||
bc.url = prefix + urlsafe_base64_encode(last)
|
bc.url = prefix + urlsafe_base64_encode(last.encode()).decode()
|
||||||
output.append(bc)
|
output.append(bc)
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ from django.contrib.auth.decorators import login_required, user_passes_test
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.contrib.auth import login, authenticate
|
from django.contrib.auth import login, authenticate
|
||||||
|
|
||||||
from comic.models import Setting, ComicBook, ComicStatus
|
from .models import Setting, ComicBook, ComicStatus
|
||||||
from util import generate_breadcrumbs_from_path, generate_breadcrumbs_from_menu, generate_title_from_path
|
from .util import generate_breadcrumbs_from_path, generate_breadcrumbs_from_menu, generate_title_from_path, Menu
|
||||||
from forms import SettingsForm, AccountForm, EditUserForm, AddUserForm, InitialSetupForm
|
from .forms import SettingsForm, AccountForm, EditUserForm, AddUserForm, InitialSetupForm
|
||||||
from util import Menu
|
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ def comic_list(request, comic_path=''):
|
|||||||
if not path.isdir(base_dir):
|
if not path.isdir(base_dir):
|
||||||
return redirect('/comic/settings/')
|
return redirect('/comic/settings/')
|
||||||
|
|
||||||
comic_path = urlsafe_base64_decode(comic_path)
|
comic_path = urlsafe_base64_decode(comic_path).decode()
|
||||||
title = generate_title_from_path(comic_path)
|
title = generate_title_from_path(comic_path)
|
||||||
files = ComicBook.generate_directory(request.user, base_dir, comic_path)
|
files = ComicBook.generate_directory(request.user, base_dir, comic_path)
|
||||||
context = RequestContext(request, {
|
context = RequestContext(request, {
|
||||||
@@ -183,7 +183,7 @@ def settings_page(request):
|
|||||||
def read_comic(request, comic_path, page):
|
def read_comic(request, comic_path, page):
|
||||||
base_dir = Setting.objects.get(name='BASE_DIR').value
|
base_dir = Setting.objects.get(name='BASE_DIR').value
|
||||||
page = int(page)
|
page = int(page)
|
||||||
decoded_path = urlsafe_base64_decode(comic_path)
|
decoded_path = urlsafe_base64_decode(comic_path).decode()
|
||||||
breadcrumbs = generate_breadcrumbs_from_path(decoded_path)
|
breadcrumbs = generate_breadcrumbs_from_path(decoded_path)
|
||||||
_, comic_file_name = path.split(decoded_path)
|
_, comic_file_name = path.split(decoded_path)
|
||||||
try:
|
try:
|
||||||
@@ -210,7 +210,7 @@ def read_comic(request, comic_path, page):
|
|||||||
def get_image(_, comic_path, page):
|
def get_image(_, comic_path, page):
|
||||||
base_dir = Setting.objects.get(name='BASE_DIR').value
|
base_dir = Setting.objects.get(name='BASE_DIR').value
|
||||||
page = int(page)
|
page = int(page)
|
||||||
decoded_path = urlsafe_base64_decode(comic_path)
|
decoded_path = urlsafe_base64_decode(comic_path).decode()
|
||||||
_, comic_file_name = path.split(decoded_path)
|
_, comic_file_name = path.split(decoded_path)
|
||||||
try:
|
try:
|
||||||
book = ComicBook.objects.get(file_name=comic_file_name)
|
book = ComicBook.objects.get(file_name=comic_file_name)
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ def comic_login(request):
|
|||||||
if user is not None:
|
if user is not None:
|
||||||
if user.is_active:
|
if user.is_active:
|
||||||
login(request, user)
|
login(request, user)
|
||||||
if request.GET.has_key('next'):
|
if 'next' in request.GET:
|
||||||
return redirect(request.GET['next'])
|
return redirect(request.GET['next'])
|
||||||
else:
|
else:
|
||||||
return redirect('/comic/')
|
return redirect('/comic/')
|
||||||
|
|||||||
Reference in New Issue
Block a user