From 85e6705af6fb37997340d7e79d5fe3cc391ca3fa Mon Sep 17 00:00:00 2001 From: Mike Young Date: Fri, 29 Nov 2019 17:26:18 -0500 Subject: [PATCH] Added result limiting, and result paging --- src/frontend/settings.py | 2 +- src/frontend/urls.py | 4 ++-- src/interface/static/js/pyshelf_ux.js | 27 --------------------------- src/interface/templates/index.html | 4 ++-- src/interface/views.py | 27 +++++++++++++++------------ 5 files changed, 20 insertions(+), 44 deletions(-) diff --git a/src/frontend/settings.py b/src/frontend/settings.py index 8747a60..f146b9a 100755 --- a/src/frontend/settings.py +++ b/src/frontend/settings.py @@ -23,7 +23,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SECRET_KEY = "@(9b9jslgg41u1u=mr)-2*-n2x0vef0zsy39*z@sz18&tvow18" # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = False +DEBUG = True ALLOWED_HOSTS = ["*"] diff --git a/src/frontend/urls.py b/src/frontend/urls.py index 81346bc..4d47ec2 100755 --- a/src/frontend/urls.py +++ b/src/frontend/urls.py @@ -22,8 +22,8 @@ urlpatterns = [ path("admin/", admin.site.urls), path("", views.index, name="index"), path("download/", views.download, name="download"), - path("prev_page", views.prev_page, name="prev_page"), - path("next_page", views.next_page, name="next_page"), + path("prev_page/", views.prev_page, name="prev_page"), + path("next_page/", views.next_page, name="next_page"), ] if settings.DEBUG: import debug_toolbar diff --git a/src/interface/static/js/pyshelf_ux.js b/src/interface/static/js/pyshelf_ux.js index 29950e1..e69de29 100644 --- a/src/interface/static/js/pyshelf_ux.js +++ b/src/interface/static/js/pyshelf_ux.js @@ -1,27 +0,0 @@ -$(document).ready(function(){ - //_set = $('input#_set').attr('value'); - $('input.next_page').on('click', function(){next_page(1)}); - $('input.prev_page').on('click', function(){prev_page(1)}); - - function next_page(set){ - /* - var re = new RegExp(/^.*\//); - var _root = re.exec(window.location.href); - var _path = _root[0].substring(0, _root[0].length -1) - document.location.href = 'next_page?bookset='+set; - */ - console.log("next_page clicked"); - var _r = $.get('next_page', 'bookset='+set); - console.log(_r); - } - - function prev_page(set){ - /* - var re = new RegExp(/^.*\//); - var _root = re.exec(window.location.href); - document.location.href = _root+'prev_page?bookset='+set; - */ - console.log("prev_page clicked"); - $.get('prev_page', 'bookset='+set); - } -}); diff --git a/src/interface/templates/index.html b/src/interface/templates/index.html index b1f6d51..16817ca 100755 --- a/src/interface/templates/index.html +++ b/src/interface/templates/index.html @@ -31,14 +31,14 @@ diff --git a/src/interface/views.py b/src/interface/views.py index 3286301..b5430a8 100755 --- a/src/interface/views.py +++ b/src/interface/views.py @@ -4,7 +4,7 @@ from base64 import b64decode, b64encode from django.db import models from django.http import JsonResponse -from django.shortcuts import HttpResponse, render +from django.shortcuts import HttpResponse, render, render_to_response from django.utils.text import slugify from .models import Books @@ -15,24 +15,27 @@ def index(request): return render( request, "index.html", {"Books": book_set(20, _set), "Set": str(_set)} ) - # return render(request, "index.html", {"Books": Books.objects.all()}) -def next_page(request): +def next_page(request, bookset): try: - _set = int(request.GET["bookset"]) + 1 + _set = int(bookset) + 1 except Exception: _set = 1 - return HttpResponse(book_set_as_dict(20, _set), mimetype="application/json") + return render( + request, "index.html", {"Books": book_set(None, _set), "Set": str(_set)} + ) -def prev_page(request): - try: - _set = request.GET["bookset"] - 1 - if _set < 0: - _set = 0 - except Exception: +def prev_page(request, bookset): + _set = int(bookset) + if _set <= 1: _set = 1 + else: + try: + _set = int(bookset) - 1 + except Exception: + _set = 1 return render( request, "index.html", {"Books": book_set(None, _set), "Set": str(_set)} ) @@ -59,7 +62,7 @@ def book_set_as_dict(_limit=None, _set=1): "title": book.title, "author": book.author, "categories": book.categories, - "cover": b64decode(book.cover), + "cover": book.cover, "pages": book.pages, "progress": book.progress, "file_name": book.file_name,