Commit Graph

1327 Commits (1f3e8d3e7b3c019e3039e297fcf80b901b16d3a5)

Author SHA1 Message Date
voussoir adbdb3bdb4 Show number of associated directories in alt text. 2020-09-14 20:26:46 -07:00
voussoir 9102b37d5a Let slate.css use black text on buttons. 2020-09-14 20:25:51 -07:00
voussoir 5b4cc5bf9c Log the exception before rolling back. 2020-09-14 20:25:24 -07:00
voussoir 5d40622b76 Add log for Photo.relocate. 2020-09-14 19:38:29 -07:00
voussoir be0747fd8c Use path.absolute_path when logging add_associated_directory. 2020-09-14 19:38:13 -07:00
voussoir 8279a1871b Return set instead of list from get_parents, get_tags. 2020-09-14 18:34:14 -07:00
voussoir dd0ee7a72a Use more const. 2020-09-14 18:33:53 -07:00
voussoir 7fecd65b33 Remove failed experiment. 2020-09-14 17:30:40 -07:00
voussoir 733776ee88 Failed experiment: clientside updates of tag actions.
I'm committing this so I can reference it later if I decide to try
again, but for the time being I'm going to immediately revert it.
2020-09-14 17:21:13 -07:00
voussoir 0f039c5c48 Add remove_specific_synonym_form. 2020-09-14 17:19:25 -07:00
voussoir 5501f7279b Don't use last-of-type to select tag object.
It turns out that last-of-type only considers a single tag type,
it doesn't select last element of class if it has a different tag
than the other classed elements.
2020-09-14 17:19:00 -07:00
voussoir a32caafb8b Remove leftover print statements. 2020-09-14 16:56:55 -07:00
voussoir 8659b55103 Use className instead of classList here. 2020-09-14 12:01:33 -07:00
voussoir 1442e16eb7 Add specific_tag variable into the javascript. 2020-09-14 05:55:41 -07:00
voussoir c532b711b1 During init_all, launch individuals as setTimeouts.
I'm having some performance issues with button_with_confirm on /tags.
This won't magically make that faster but I'm trying to stop the main
thread from dragging at least.
2020-09-14 05:54:47 -07:00
voussoir b98ed27291 Change url parameter /tags?synonyms -> include_synonyms.
I keep forgetting that the url parameter name isn't the same as the
python variable name.
2020-09-14 05:52:00 -07:00
voussoir 1f7ffbb283 Fix old reference to incorrect variable name tagname. 2020-09-14 05:50:10 -07:00
voussoir ff312d1e16 Let /tags pull from cached easybake export. 2020-09-14 05:49:49 -07:00
voussoir f3bceb4688 Remove get_cached_flat_dict, add get_cached_tag_export. 2020-09-14 05:49:24 -07:00
voussoir 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
voussoir f1d17350a7 Add Photo.remove_tags. 2020-09-14 05:38:20 -07:00
voussoir 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
voussoir 2dc1603d5e Use className instead of classList for initialization. 2020-09-14 05:19:10 -07:00
voussoir 5461d49cb4 Strip more whitespace from tag_object macro output. 2020-09-14 05:17:44 -07:00
voussoir 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
voussoir cc34c4d189 Pull out init_* function innards to separate one-item functions. 2020-09-12 20:34:59 -07:00
voussoir 329c6dd27b Trim whitespace from html_to_element input. 2020-09-12 20:33:46 -07:00
voussoir 188095c30b Remove unnecessary intermediate variable syn_lines. 2020-09-12 17:33:45 -07:00
voussoir c11fb12069 Sort tags as they are added to photo. 2020-09-12 16:52:46 -07:00
voussoir 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
voussoir 2fad1c58fd Use className instead of classList, as input may have spaces. 2020-09-12 13:14:55 -07:00
voussoir 5dcccae646 Fix add_children all(bail) causing short-circuit. 2020-09-12 13:14:40 -07:00
voussoir bbadd15129 Put the callbacks next to their respective form functions. 2020-09-12 11:59:03 -07:00
voussoir eccb260a2b Pull onclicks into separate _form functions. 2020-09-12 11:48:08 -07:00
voussoir a51d22bf71 Rename argument specific_tag -> tagname like the other endpoints. 2020-09-12 11:43:53 -07:00
voussoir 42d4b7fafb Add give_token, catch_etiquette_exception to all endpoints at once. 2020-09-12 11:43:25 -07:00
voussoir f7e5b639e3 Remove *args from common.render_template. Just template_name. 2020-09-12 10:13:24 -07:00
voussoir d00d7b4acf Refocus add_tag_box after removing a tag. 2020-09-12 01:19:16 -07:00
voussoir 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
voussoir 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
voussoir 21921dc8fc Rename cached_frozen_children -> cached_tag_flat_dict. 2020-09-12 00:56:32 -07:00
voussoir b59c2700db Update _lift_children docstring. 2020-09-12 00:53:12 -07:00
voussoir 1a53af8821 Replace horrible flat_dict algorithm with actual recursion. 2020-09-12 00:21:37 -07:00
voussoir 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
voussoir 2a9b2cd095 Add methods PDB.get_thing_count for all thing types. 2020-09-11 23:51:57 -07:00
voussoir f640268793 Gzip responses. 2020-09-11 23:12:37 -07:00
voussoir 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
voussoir cfb48a8d11 Add disclaimer about yield order to get_things_by_id. 2020-09-11 22:13:30 -07:00
voussoir 30c9efc043 Rename generate_thumbnail_for_video -> _form. 2020-09-11 17:06:50 -07:00
voussoir 0a608bcb69 In database_upgrader, use DROP INDEX IF EXISTS. 2020-09-11 16:15:42 -07:00