From 267a2d410c9ac5c94dd6f99492dba78d2426ab2b Mon Sep 17 00:00:00 2001 From: "ajurna@gmail.com" Date: Wed, 30 Mar 2016 10:23:04 +0100 Subject: [PATCH] converted to python 3, fixed warnings for django 1.10 --- cbreader/settings.py | 4 +++- cbreader/urls.py | 14 ++++++++------ comic/models.py | 16 +++++++++------- comic/util.py | 2 +- comic/views.py | 14 +++++++------- comic_auth/views.py | 2 +- 6 files changed, 29 insertions(+), 23 deletions(-) diff --git a/cbreader/settings.py b/cbreader/settings.py index 8f9ad96..5074980 100644 --- a/cbreader/settings.py +++ b/cbreader/settings.py @@ -106,4 +106,6 @@ STATIC_URL = '/static/' LOGIN_REDIRECT_URL = '/comic/' -LOGIN_URL = '/login/' \ No newline at end of file +LOGIN_URL = '/login/' + +UNRAR_TOOL = 'C:/Program Files/WinRAR/unrar' \ No newline at end of file diff --git a/cbreader/urls.py b/cbreader/urls.py index 29777fe..2574ce8 100644 --- a/cbreader/urls.py +++ b/cbreader/urls.py @@ -15,13 +15,15 @@ Including another URLconf """ from django.conf.urls import include, url from django.contrib import admin +import comic_auth.views +import comic.views urlpatterns = [ - url(r'^$', 'comic.views.comic_redirect'), - url(r'^login/', 'comic_auth.views.comic_login'), - url(r'^logout/', 'comic_auth.views.comic_logout'), - url(r'^setup/', 'comic.views.initial_setup'), - url(r'^comic/', include('comic.urls')), - url(r'^admin/', include(admin.site.urls)), + url(r'^$', comic.views.comic_redirect), + url(r'^login/', comic_auth.views.comic_login), + url(r'^logout/', comic_auth.views.comic_logout), + url(r'^setup/', comic.views.initial_setup), + url(r'^comic/', include('comic.urls')), + url(r'^admin/', include(admin.site.urls)), ] diff --git a/comic/models.py b/comic/models.py index 1f75285..290bd30 100644 --- a/comic/models.py +++ b/comic/models.py @@ -7,7 +7,9 @@ from comic import rarfile from comic.util import get_ordered_dir_list import zipfile from os import path +from cbreader.settings import UNRAR_TOOL +rarfile.UNRAR_TOOL = UNRAR_TOOL class Setting(models.Model): name = models.CharField(max_length=100, unique=True) @@ -84,12 +86,12 @@ class ComicBook(models.Model): @staticmethod def nav_get_prev_comic(comic_path): 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) dir_list = get_ordered_dir_list(path.join(base_dir, directory)) comic_index = dir_list.index(comic) if comic_index == 0: - comic_path = urlsafe_base64_encode(directory) + comic_path = urlsafe_base64_encode(directory.encode()) index = -1 else: prev_comic = dir_list[comic_index - 1] @@ -100,16 +102,16 @@ class ComicBook(models.Model): except ComicBook.DoesNotExist: book = ComicBook.process_comic_book(base_dir, comic_path, prev_comic) index = ComicPage.objects.filter(Comic=book).count() - 1 - comic_path = urlsafe_base64_encode(comic_path) + comic_path = urlsafe_base64_encode(comic_path.encode()) else: - comic_path = urlsafe_base64_encode(directory) + comic_path = urlsafe_base64_encode(directory.encode()) index = -1 return comic_path, index @staticmethod def nav_get_next_comic(comic_path): 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) dir_list = get_ordered_dir_list(path.join(base_dir.value, directory)) comic_index = dir_list.index(comic) @@ -194,11 +196,11 @@ class ComicBook(models.Model): if path.isdir(path.join(base_dir, comic_path, fn)): df.isdir = True 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']: df.iscb = True 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: book = ComicBook.objects.get(file_name=fn) status, _ = ComicStatus.objects.get_or_create(comic=book, user=user) diff --git a/comic/util.py b/comic/util.py index 72ef678..44cdb50 100644 --- a/comic/util.py +++ b/comic/util.py @@ -51,7 +51,7 @@ def generate_breadcrumbs_from_path(comic_path): bc = Breadcrumb() bc.name = 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) return output diff --git a/comic/views.py b/comic/views.py index f235f6d..6171f6b 100644 --- a/comic/views.py +++ b/comic/views.py @@ -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 import login, authenticate -from comic.models import Setting, ComicBook, ComicStatus -from util import generate_breadcrumbs_from_path, generate_breadcrumbs_from_menu, generate_title_from_path -from forms import SettingsForm, AccountForm, EditUserForm, AddUserForm, InitialSetupForm -from util import Menu +from .models import Setting, ComicBook, ComicStatus +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 os import path @@ -22,7 +22,7 @@ def comic_list(request, comic_path=''): if not path.isdir(base_dir): 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) files = ComicBook.generate_directory(request.user, base_dir, comic_path) context = RequestContext(request, { @@ -183,7 +183,7 @@ def settings_page(request): def read_comic(request, comic_path, page): base_dir = Setting.objects.get(name='BASE_DIR').value 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) _, comic_file_name = path.split(decoded_path) try: @@ -210,7 +210,7 @@ def read_comic(request, comic_path, page): def get_image(_, comic_path, page): base_dir = Setting.objects.get(name='BASE_DIR').value 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) try: book = ComicBook.objects.get(file_name=comic_file_name) diff --git a/comic_auth/views.py b/comic_auth/views.py index 7e6f734..827e057 100644 --- a/comic_auth/views.py +++ b/comic_auth/views.py @@ -14,7 +14,7 @@ def comic_login(request): if user is not None: if user.is_active: login(request, user) - if request.GET.has_key('next'): + if 'next' in request.GET: return redirect(request.GET['next']) else: return redirect('/comic/')