voussoir
750d93673d
Add method purge_deleted_associated_directories.
2020-09-15 14:57:20 -07:00
voussoir
37bff5c427
Look for renamed files (lost&found) during digest_directory.
2020-09-15 14:57:05 -07:00
voussoir
9578dc4d67
Add column for photo's st_dev, st_ino to facilitate lost&found.
2020-09-15 14:56:45 -07:00
voussoir
5f9627da61
Remove all cur, just use photodb.sql_execute.
2020-09-15 14:54:44 -07:00
voussoir
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
voussoir
50ecc4c1c1
Let digest_directory act as a generator, yielding photos & albums.
2020-09-15 13:48:06 -07:00
voussoir
37c784982a
Add PDB.clear_all_caches.
2020-09-15 13:44:49 -07:00
voussoir
5bc3fdd08e
Move purge_empty_albums to PDBAlbumMixin.
2020-09-15 13:44:28 -07:00
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