Commit graph

1338 commits

Author SHA1 Message Date
74445d0a1f Add internal _add_child so that plural doesn't call transacted.
add_children was calling add_child in a loop. Since this is a parent
class, that call would actually call the subclasses' add_child method,
which has a transaction decorator, and create unnecessary transactions.
2020-09-12 01:00:39 -07:00
21921dc8fc Rename cached_frozen_children -> cached_tag_flat_dict. 2020-09-12 00:56:32 -07:00
b59c2700db Update _lift_children docstring. 2020-09-12 00:53:12 -07:00
1a53af8821 Replace horrible flat_dict algorithm with actual recursion. 2020-09-12 00:21:37 -07:00
ee28779138 Pass separate tag_count into tags.html to prevent double-counting.
Foolishly, I was checking the length of the outputted easybake format,
which included lines for synonyms and multi-parent tags that shouldn't
be part of the tag count.
2020-09-11 23:52:23 -07:00
2a9b2cd095 Add methods PDB.get_thing_count for all thing types. 2020-09-11 23:51:57 -07:00
f640268793 Gzip responses. 2020-09-11 23:12:37 -07:00
b0dcc6d3c6 Separately count photo results to fix included albums counting.
I'm currently running an experiment where albums are also included in
search results, but they don't cost you any of your limit parameter.
So the len(results) was often bigger than limit and tricking this
paginator into thinking we needed a next page when really we didn't.
This workaround can be undone when I decide how to make the album
results more official.
2020-09-11 23:12:23 -07:00
cfb48a8d11 Add disclaimer about yield order to get_things_by_id. 2020-09-11 22:13:30 -07:00
30c9efc043 Rename generate_thumbnail_for_video -> _form. 2020-09-11 17:06:50 -07:00
0a608bcb69 In database_upgrader, use DROP INDEX IF EXISTS. 2020-09-11 16:15:42 -07:00
08f6c21286 Add return to these onchange and ondrag attributes.
I skipped them during the commit where I added return to all onclicks
because I figure I won't be wrapping these kinds of attributes.
But I feel like it's better to be consistent and you never know when
it might happen.
2020-09-11 16:03:15 -07:00
ad26f09ee0 On photo.html, add and remove tag lis dynamically.
Instead of requiring a page refresh to see the new tags. They
just won't be sorted.
Slight bummer, the datalist dropdown pretty much obscures the
whole thing anyway.
2020-09-11 15:57:06 -07:00
0cdd8c0d71 Add detailed doctstring to digest_directory. 2020-09-11 15:49:02 -07:00
4a3236babe Update digest_directory to handle plural albums at every step. 2020-09-11 15:48:37 -07:00
dea746c45a Alphabetize Album's methods. 2020-09-11 15:21:13 -07:00
1cc70616a5 Replace get_album_by_path with get_albums_by_path generator. 2020-09-11 15:15:12 -07:00
7705848714 Let new_album take multiple associated directories. 2020-09-11 15:02:33 -07:00
519bcf32e6 Add separate plural method Album.add_associated_directories. 2020-09-11 15:02:15 -07:00
892390c77a Rewrite entry_with_history hook and use keydown instead of keyup. 2020-09-10 08:21:20 -07:00
8aa2b8dd3c Rewrite photo_clipboard actions to take ids instead of cards.
Following the previous commit about the checkbox on the /photo page,
this fixes all of the code assuming that we're dealing with photo_card
divs, the majority of which was doing nothing but accessing the id.
2020-09-10 08:20:55 -07:00
6184476485 Let the specific_tag have class=tag_object so it looks the part. 2020-09-10 08:18:20 -07:00
4b76bc0628 Don't access response.data.tagname until we know it's not an error.
This wasn't causing any issues, because it was just setting itself
to undefined, but I realized I should move it.
2020-09-10 06:48:56 -07:00
2d01297729 Adjust photo_card_searchhidden to 2px dotted border. 2020-09-09 23:55:46 -07:00
8d2af3255b Add endpoints set_searchhidden, unset_searchhidden and checkbox. 2020-09-09 20:51:15 -07:00
4569e7848c Let apply_check_all search for the checkboxes, not the photo cards. 2020-09-09 20:09:41 -07:00
7762a8ff07 Rename post_photo_searchhidden -> post_batch_photos_searchidden. 2020-09-09 19:27:22 -07:00
193c8645ed Save the user's CSS theme in a cookie so it stays across pages. 2020-09-09 19:26:11 -07:00
804afe912f Add css class .photo_card_searchhidden. 2020-09-09 19:24:43 -07:00
cb881ed640 Add httponly to session cookie. 2020-09-09 19:19:35 -07:00
2ba4a3bb91 Add constant RESPONSE_TYPES for use in isinstance checks. 2020-09-09 18:53:51 -07:00
049d620789 Convert cookies to werkzeug MultiDict instead of plain dict.
I discovered that werkzeug stores cookies in lists, with its .get
returning only the first item of the list. By converting the cookies
to a plain dict, I was breaking that functionality of cookies.get.
So, using werkzeug's MultiDict is the correct choice.
2020-09-09 18:53:26 -07:00
82758ed336 Rename color_3d_shadow -> color_shadow. 2020-09-09 15:57:53 -07:00
f5eb2467dc Add synonyms div to specific tag page. 2020-09-09 15:52:09 -07:00
97bb9da8a6 Use (+) (x) links on /tags page, link main tag object to info. 2020-09-09 15:51:57 -07:00
270dcadf4e Let tag_object also link to mays, forbids. 2020-09-09 14:08:06 -07:00
c425d55331 Use decorators in jinja_filters to automatically register them. 2020-09-09 13:23:16 -07:00
199a4af658 Remove unnecessary intermediate variable view. 2020-09-09 13:15:21 -07:00
71e87f83f7 Use class=hidden instead of inline style display:none. 2020-09-09 13:13:38 -07:00
edca32e81c Simplify {%if x%} to just {{x or ''}. 2020-09-09 13:13:04 -07:00
6d5cd11612 Let search_core return tags as real lists.
This lets search.html deal with real objects instead of playing with
dumed-down strings.
2020-09-09 13:09:48 -07:00
d585fe92a9 Let search_core return author as real list.
This lets search.html deal with real objects instead of playing with
dumed-down strings.
2020-09-09 13:08:41 -07:00
94b811b3b1 Let search_core return extension as real list.
This lets search.html deal with real objects instead of playing with
dumed-down strings.
2020-09-09 13:07:22 -07:00
8ed5f0be51 Fix tag_expression usage of frozen_children which was tag objects.
At some point, I changed tag_export.flat_dict from using strings as
keys to using actual Tag objects as keys. The tag expression handler
never got updated, so frozen_children[tagname] raised KeyError as
it was looking for a string.
I considered using tag_expression_tree.map to convert all the tree
tokens into tag objects, but when we render the tree back into text
it will say "Tag:name" instead of just "name" throughout the whole
expression, and I don't want to deal with converting those back.
2020-09-09 12:58:57 -07:00
30d7dbdb39 Fix tag_export.flat_dict which was not truthful about synonyms. 2020-09-09 12:53:51 -07:00
a048a48159 Use class=hidden instead of inline style display:none. 2020-09-09 12:51:59 -07:00
a79e14e120 Let search_kwargs[orderby] give back None instead of empty list. 2020-09-09 12:20:49 -07:00
c0f24732e1 Remove useless intermediate variable search_kwargs. 2020-09-09 12:13:18 -07:00
7eb095e17c Experiment: Use width*height instead of area column when searching.
Will see if this has any adverse effects, or if it goes well I can
remove the area and ratio columns.
2020-09-08 21:59:42 -07:00
c507d5f629 Fix reassign to const tag of tags. 2020-09-08 16:42:44 -07:00