some code cleanup, added silk to look into some queries.

This commit is contained in:
2017-11-23 11:50:25 +00:00
parent c330c6812b
commit eeaf0d37a3
3 changed files with 31 additions and 32 deletions

View File

@@ -37,6 +37,7 @@ INSTALLED_APPS = (
'django.contrib.sessions', 'django.contrib.sessions',
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'silk',
'captcha', 'captcha',
'comic', 'comic',
'comic_auth', 'comic_auth',
@@ -51,6 +52,7 @@ MIDDLEWARE_CLASSES = (
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware', 'django.middleware.security.SecurityMiddleware',
'silk.middleware.SilkyMiddleware',
) )
ROOT_URLCONF = 'cbreader.urls' ROOT_URLCONF = 'cbreader.urls'

View File

@@ -15,8 +15,9 @@ 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 import comic.views
import comic_auth.views
urlpatterns = [ urlpatterns = [
url(r'^$', comic.views.comic_redirect), url(r'^$', comic.views.comic_redirect),
@@ -25,5 +26,5 @@ urlpatterns = [
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)),
url(r'^silk/', include('silk.urls', namespace='silk'))
] ]

View File

@@ -35,25 +35,23 @@ class Directory(models.Model):
@property @property
def path(self): def path(self):
l = self.get_path_items() return self.get_path()
l.reverse()
return path.sep.join(l)
def get_path(self): def get_path(self):
l = self.get_path_items() path_items = self.get_path_items()
l.reverse() path_items.reverse()
return path.sep.join(l) return path.sep.join(path_items)
def get_path_items(self, p=False): def get_path_items(self, p=None):
if not p: if p is None:
p = [] p = []
p.append(self.name) p.append(self.name)
if self.parent: if self.parent:
self.parent.get_path_items(p) self.parent.get_path_items(p)
return p return p
def get_path_objects(self, p=False): def get_path_objects(self, p=None):
if not p: if p is None:
p = [] p = []
p.append(self) p.append(self)
if self.parent: if self.parent:
@@ -103,25 +101,27 @@ class ComicBook(models.Model):
@property @property
def page_count(self): def page_count(self):
page_count = ComicPage.objects.filter(Comic=self).count() return ComicPage.objects.filter(Comic=self).count()
return page_count
class Navigation: class Navigation:
def __init__(self): next_index = 0
self.next_index = 0 next_path = ''
self.next_path = '' prev_index = 0
self.prev_index = 0 prev_path = ''
self.prev_path = '' cur_index = 0
self.cur_index = 0 cur_path = ''
self.cur_path = '' q_prev_to_directory = False
self.q_prev_to_directory = False q_next_to_directory = False
self.q_next_to_directory = False
def __init__(self, **kwargs):
for arg in kwargs:
setattr(self, arg, kwargs[arg])
def nav(self, page, user): def nav(self, page, user):
out = self.Navigation() out = self.Navigation(
out.cur_index = page cur_index=page,
out.cur_path = urlsafe_base64_encode(self.selector.bytes) cur_path=urlsafe_base64_encode(self.selector.bytes)
)
if page == 0: if page == 0:
out.prev_path, out.prev_index = self.nav_get_prev_comic(user) out.prev_path, out.prev_index = self.nav_get_prev_comic(user)
if out.prev_index == -1: if out.prev_index == -1:
@@ -137,7 +137,6 @@ class ComicBook(models.Model):
else: else:
out.next_index = page + 1 out.next_index = page + 1
out.next_path = out.cur_path out.next_path = out.cur_path
return out return out
def nav_get_prev_comic(self, user): def nav_get_prev_comic(self, user):
@@ -231,10 +230,7 @@ class ComicBook(models.Model):
@property @property
def pages(self): def pages(self):
out = [] return [cp for cp in ComicPage.objects.filter(Comic=self).order_by('index')]
for item in ComicPage.objects.filter(Comic=self).order_by('index'):
out.append(item)
return out
def page_name(self, index): def page_name(self, index):
return ComicPage.objects.get(Comic=self, index=index).page_file_name return ComicPage.objects.get(Comic=self, index=index).page_file_name