diff --git a/config.py b/config.py index d847e0e..1295397 100644 --- a/config.py +++ b/config.py @@ -3,3 +3,4 @@ resourcedir = "resources/" carddir = "cards/" svgdir = "svgs/" prettifyHTML = False#requires html5print module, only applies to html processed by airspeed +svg_page_size = 150 diff --git a/resources/cards/svg.vm b/resources/cards/svg.vm index 56da4ea..0258f30 100644 --- a/resources/cards/svg.vm +++ b/resources/cards/svg.vm @@ -2,7 +2,7 @@ SVG list -#macro(form) +#macro(upload_svgs_form)

Upload SVG:

@@ -16,41 +16,49 @@

#end +#macro(filter_and_collection_forms) +
+

Filter svgs:

+ + #if($current_collection) + + #end + +
+
+

Collections:

+ No collection + #foreach($collection in $collections) + - $escape_html($collection) + #end +
+#end #macro(pagination) -
- #set($self = "svg?") - #if($current_collection) - #set($self = "${self}collection=$escape_html($current_collection)&") - #end - #if($filter) - #set($self = "${self}filter=$escape_html($filter)&") - #end - #if($page>1)Previous page - #end - Next page -
+ #if($has_next || $page>1) +
+ #set($self = "svg?") + #if($current_collection) + #set($self = "${self}collection=$escape_html($current_collection)&") + #end + #if($filter) + #set($self = "${self}filter=$escape_html($filter)&") + #end + #if($page>1)Previous page - #end + Page $page + #if($has_next) + - Next page + #end +
+ #end #end Return to cardlist
- #form() + #upload_svgs_form()
-
-

filter

- - #if($current_collection) - - #end - -
-
-

Collections:

- No collection - #foreach($collection in $collections) - - $escape_html($collection) - #end -
+ #filter_and_collection_forms()
@@ -69,6 +77,13 @@ #pagination() -#form() +
+
+ #upload_svgs_form() +
+
+ #filter_and_collection_forms() +
+
Return to cardlist diff --git a/server.py b/server.py index 772f641..e688f42 100755 --- a/server.py +++ b/server.py @@ -134,8 +134,11 @@ async def svg_list(request, template={}): if filter: svgs = [i for i in svgs if filter in i] + if len(svgs) > page*config.svg_page_size: + has_next = True + svgs.sort() - svgs = svgs[(page-1)*100:page*100] + svgs = svgs[(page-1)*config.svg_page_size:page*config.svg_page_size] return response.html(template["svg.vm"].merge(locals()))