voussoir
d152987b97
Let /album/add_child, /remove_child take multiple IDs.
2020-09-27 23:35:01 -07:00
voussoir
8777998829
Add plural method remove_children.
2020-09-27 22:24:33 -07:00
voussoir
0eb8fd3f1b
Fix incorrect short-circuit order of add_chidren bail.
2020-09-27 19:49:27 -07:00
voussoir
06340d03da
Dedent these loops via comprehensions of questionable clarity.
2020-09-27 13:50:35 -07:00
voussoir
fa512eff28
Add argument once_each, set to False if you want every permutation.
2020-09-27 13:28:03 -07:00
voussoir
97cc023866
Add Groupable methods has_ancestor, _descendant, _parent.
2020-09-27 13:01:19 -07:00
voussoir
5712d6dabd
Call tag_object instead of hand writing this tag.
2020-09-27 12:15:03 -07:00
voussoir
08591a717b
Let tag_object take arbitrary extra attributes.
2020-09-27 12:14:33 -07:00
voussoir
78a3aa36a8
Let make_attributes replace underscores with hyphens in attr names.
2020-09-27 12:14:20 -07:00
voussoir
705bd8269f
Fix some (but not all) handling of tags with & via urlencoding.
2020-09-27 11:53:38 -07:00
voussoir
e11f04342a
Use nested <details> for the setup and run instructions.
2020-09-27 11:12:38 -07:00
voussoir
4fd9b54860
Update frontends summaries.
2020-09-27 11:12:20 -07:00
voussoir
454693f1dc
Add etiquette_cli.py.
...
Just enough to pique your interest.
2020-09-27 10:57:31 -07:00
voussoir
4ee9aea3a9
Remove these pitiful leftovers of a changelog legend.
2020-09-27 10:49:23 -07:00
voussoir
667c14f072
Add search argument within_directory.
2020-09-27 10:48:01 -07:00
voussoir
da67740689
Move these print statements to log.debug.
2020-09-27 10:47:32 -07:00
voussoir
51b2642be9
Let data_directory take an existing pathclass instance.
2020-09-27 10:45:58 -07:00
voussoir
a2fc49b6e7
Let config.log_level None -> setLevel(NOTSET).
2020-09-27 10:45:07 -07:00
voussoir
17f694cfed
Add theme-change links to homepage.
2020-09-27 10:37:13 -07:00
voussoir
41353b2eb4
Move current default css into theme_turquoise. Always pick a theme.
2020-09-25 16:27:47 -07:00
voussoir
f5d8898e14
Increase search limit to 1,000.
2020-09-24 14:28:38 -07:00
voussoir
343ce508bf
Add search UI for yield_albums.
2020-09-24 14:26:51 -07:00
voussoir
9a85714df7
Use pathclass.Path.makedirs.
2020-09-24 14:18:23 -07:00
voussoir
28181428be
Synchronize Etiquette and YCDL.
2020-09-22 02:54:26 -07:00
voussoir
18e1849fcf
Fix video_thumbnail not checking if probe failed before using it.
2020-09-20 18:31:55 -07:00
voussoir
2accb5c961
Use pathclass.Path.open.
2020-09-20 18:31:31 -07:00
voussoir
55e66c8656
Fix NameError during set_override_filename.
2020-09-20 13:43:02 -07:00
voussoir
f8e03bed21
Replace usage of row[0] with (column,) tuple unpack.
2020-09-20 13:41:22 -07:00
voussoir
fa57386908
Don't call p.get_tags until needed, and don't sort them.
2020-09-20 13:17:51 -07:00
voussoir
f56da72881
Return more sets from backend, do sorting on frontend.
...
It's better semantically for these items coming out of the backend
to be sets. Sorted lists are only relevant to human consumption at the
frontend.
2020-09-20 13:16:52 -07:00
voussoir
317fa3b51d
Call assert_not_deleted before every @transaction.
2020-09-20 12:46:52 -07:00
voussoir
497abf26cd
Move circular dependency to end of file.
2020-09-20 12:46:38 -07:00
voussoir
407770a80e
Replace handwritten closest() with native closest().
...
And such a beautiful docstring, too, as if no one had done it before.
2020-09-20 12:23:43 -07:00
voussoir
169fd4945d
Fix drag-drop behavior when dropping onto root.
2020-09-20 12:20:36 -07:00
voussoir
00bc7e6eac
Replace nested if with early return.
2020-09-20 12:15:01 -07:00
voussoir
5c4c0a3034
Let jsonify.photo expect that tags are sets, not lists.
2020-09-20 12:06:10 -07:00
voussoir
a8f5f858b7
Add abstractmethod to Groupable methods that write; dunder methods.
...
The read-only methods like get_* and has_* don't need to be overridden,
but for anything that writes I don't want to forget to override them
with feature decorators etc.
2020-09-20 12:04:49 -07:00
voussoir
2a89cf33d3
Add has_tags=False suggestion to digest_directory docstring.
2020-09-20 11:43:18 -07:00
voussoir
512470f73d
Add log statement for PDB.digest_directory.
2020-09-20 11:42:44 -07:00
voussoir
1acd570467
Simplify log statement for Photo.rename_file.
2020-09-20 11:41:33 -07:00
voussoir
718da6c5c3
Remove leftover attributes group_sql_index, group_getter.
2020-09-20 11:41:15 -07:00
voussoir
b66464dc46
Add exceptions.DeletedObject and ObjectBase.assert_not_deleted.
2020-09-20 11:31:51 -07:00
voussoir
85260144ef
Add attribute deleted to all objects, for held instances.
...
If an instance is being held in two places, and then one of them
calls delete(), the other can check deleted before doing anything with
the object.
2020-09-20 11:16:07 -07:00
voussoir
f70349470f
Don't gzip large responses.
2020-09-20 01:06:23 -07:00
voussoir
7412ef5162
Let parse_unit_string try int before float.
2020-09-19 04:01:49 -07:00
voussoir
865c3011e5
Some linting.
2020-09-19 03:59:37 -07:00
voussoir
0df556da3f
Some more stricter type checks and exceptions.
2020-09-19 03:52:42 -07:00
voussoir
2db1f12bfb
Add constants.USER_ID_CHARACTERS and show that when raising invalid.
2020-09-19 03:51:55 -07:00
voussoir
b223691107
Add helpers.collapse_whitespace.
2020-09-19 03:50:55 -07:00
voussoir
1013fb81c1
Call assert_no_such_user before assert_valid_password.
2020-09-19 03:35:26 -07:00