Commit graph

1059 commits

Author SHA1 Message Date
f3bceb4688 Remove get_cached_flat_dict, add get_cached_tag_export. 2020-09-14 05:49:24 -07:00
cf64c79809 When grouping tags, update tagged photos to prefer child.
I am also considering applying the opposite effect when ungrouping.
Should a photo with A.B get A when A and B are ungrouped? There are
some cases where the answer is yes, and others no, depending on the
reason you're ungrouping the tags. Whereas this change is non-
controversial and simply enforces the existing standard of adding
more specific tags to a photo.
2020-09-14 05:46:43 -07:00
f1d17350a7 Add Photo.remove_tags. 2020-09-14 05:38:20 -07:00
85f24dd1f5 Let Photo.remove_tag only remove exact tag, not children.
I wrote this because I felt it would be a useful shorthand, as a way
of nuking all tags of a subtree off a photo, but it's too easy
to cause collateral damage when composing remove_tag with other
functions. So, when you remove tags from a photo, you'll have to be
more specific.
2020-09-14 05:37:47 -07:00
2dc1603d5e Use className instead of classList for initialization. 2020-09-14 05:19:10 -07:00
5461d49cb4 Strip more whitespace from tag_object macro output. 2020-09-14 05:17:44 -07:00
54add8ad61 Add search parameter yield_albums.
The exact details of this feature are still experimental, but I think
the concept is sound enough to make it an official parameter.
2020-09-14 05:16:36 -07:00
cc34c4d189 Pull out init_* function innards to separate one-item functions. 2020-09-12 20:34:59 -07:00
329c6dd27b Trim whitespace from html_to_element input. 2020-09-12 20:33:46 -07:00
188095c30b Remove unnecessary intermediate variable syn_lines. 2020-09-12 17:33:45 -07:00
c11fb12069 Sort tags as they are added to photo. 2020-09-12 16:52:46 -07:00
be7decf330 Rearrange confirm_onclick because they have return statements now.
Now that data-onclick begins with a return statement, this code was
not running.
2020-09-12 14:33:15 -07:00
2fad1c58fd Use className instead of classList, as input may have spaces. 2020-09-12 13:14:55 -07:00
5dcccae646 Fix add_children all(bail) causing short-circuit. 2020-09-12 13:14:40 -07:00
bbadd15129 Put the callbacks next to their respective form functions. 2020-09-12 11:59:03 -07:00
eccb260a2b Pull onclicks into separate _form functions. 2020-09-12 11:48:08 -07:00
a51d22bf71 Rename argument specific_tag -> tagname like the other endpoints. 2020-09-12 11:43:53 -07:00
42d4b7fafb Add give_token, catch_etiquette_exception to all endpoints at once. 2020-09-12 11:43:25 -07:00
f7e5b639e3 Remove *args from common.render_template. Just template_name. 2020-09-12 10:13:24 -07:00
d00d7b4acf Refocus add_tag_box after removing a tag. 2020-09-12 01:19:16 -07:00
d41bad63e7 Move reset of cached_tag_flat_dict out of GroupableMixin into Tag.
That should not have been there!
Needed to add the BAIL sentinel so that Tag methods would only
reset the cache if the internal method actually did made any changes.
2020-09-12 01:19:03 -07:00
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