Commit graph

1086 commits

Author SHA1 Message Date
d093843f28 Use sql_execute instead of sql.execute. 2020-09-15 14:58:05 -07:00
750d93673d Add method purge_deleted_associated_directories. 2020-09-15 14:57:20 -07:00
37bff5c427 Look for renamed files (lost&found) during digest_directory. 2020-09-15 14:57:05 -07:00
9578dc4d67 Add column for photo's st_dev, st_ino to facilitate lost&found. 2020-09-15 14:56:45 -07:00
5f9627da61 Remove all cur, just use photodb.sql_execute. 2020-09-15 14:54:44 -07:00
2d5fb19ce7 Remove automatic BEGIN because it breaks pragma foreign_keys.
It turns out you can't adjust foreign_keys while a transaction is active,
so the upgraders that need to disable and re-enable them were not
working right and encountering foreign key violations.
2020-09-15 14:54:21 -07:00
50ecc4c1c1 Let digest_directory act as a generator, yielding photos & albums. 2020-09-15 13:48:06 -07:00
37c784982a Add PDB.clear_all_caches. 2020-09-15 13:44:49 -07:00
5bc3fdd08e Move purge_empty_albums to PDBAlbumMixin. 2020-09-15 13:44:28 -07:00
adbdb3bdb4 Show number of associated directories in alt text. 2020-09-14 20:26:46 -07:00
9102b37d5a Let slate.css use black text on buttons. 2020-09-14 20:25:51 -07:00
5b4cc5bf9c Log the exception before rolling back. 2020-09-14 20:25:24 -07:00
5d40622b76 Add log for Photo.relocate. 2020-09-14 19:38:29 -07:00
be0747fd8c Use path.absolute_path when logging add_associated_directory. 2020-09-14 19:38:13 -07:00
8279a1871b Return set instead of list from get_parents, get_tags. 2020-09-14 18:34:14 -07:00
dd0ee7a72a Use more const. 2020-09-14 18:33:53 -07:00
7fecd65b33 Remove failed experiment. 2020-09-14 17:30:40 -07:00
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
0f039c5c48 Add remove_specific_synonym_form. 2020-09-14 17:19:25 -07:00
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
a32caafb8b Remove leftover print statements. 2020-09-14 16:56:55 -07:00
8659b55103 Use className instead of classList here. 2020-09-14 12:01:33 -07:00
1442e16eb7 Add specific_tag variable into the javascript. 2020-09-14 05:55:41 -07:00
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
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
1f7ffbb283 Fix old reference to incorrect variable name tagname. 2020-09-14 05:50:10 -07:00
ff312d1e16 Let /tags pull from cached easybake export. 2020-09-14 05:49:49 -07:00
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