Commit graph

482 commits

Author SHA1 Message Date
735fbf9abd Let the purge methods yield their deleted items. 2020-09-30 13:41:42 -07:00
3a8aadf6aa Remove __main__ from photodb.py. 2020-09-28 20:15:28 -07:00
6eb4d887ba Replace create_or_get_photos with singular. 2020-09-28 20:14:10 -07:00
d531c66bf0 Delete photo's thumbnail when deleting the file.
A minor oversight, I think you'll agree.
2020-09-28 14:22:09 -07:00
949e6f68fe Remove support for two Photos with same path.
I have yet to find a practical need for this, and all it does is cause
headaches about the safety of moving / renaming the file.
2020-09-28 14:18:10 -07:00
585882028d Add get_things_by_sql for quick, bespoke queries. 2020-09-28 14:07:28 -07:00
98f706f486 Let Photo.basename be a @property. 2020-09-28 14:06:32 -07:00
3b72b07262 Replace yield from generator with return generator. 2020-09-28 11:26:16 -07:00
63bc2dfed5 Add yield_photos, count albums in search result limit.
This experiment of bringing Photos and Albums closer to parity in
search is going well so far. I have found some situations where it
is nice to only get albums back from search results.
2020-09-27 23:38:49 -07:00
c7eda36133 Add decollide_names, prefer simplified names in album exports. 2020-09-27 23:36:15 -07:00
28aa47d40d Add __str__ to Album and Photo. 2020-09-27 23:35:12 -07:00
ba1fba0c06 Add full_name to Albums. 2020-09-27 23:35:12 -07:00
8777998829 Add plural method remove_children. 2020-09-27 22:24:33 -07:00
0eb8fd3f1b Fix incorrect short-circuit order of add_chidren bail. 2020-09-27 19:49:27 -07:00
06340d03da Dedent these loops via comprehensions of questionable clarity. 2020-09-27 13:50:35 -07:00
fa512eff28 Add argument once_each, set to False if you want every permutation. 2020-09-27 13:28:03 -07:00
97cc023866 Add Groupable methods has_ancestor, _descendant, _parent. 2020-09-27 13:01:19 -07:00
667c14f072 Add search argument within_directory. 2020-09-27 10:48:01 -07:00
da67740689 Move these print statements to log.debug. 2020-09-27 10:47:32 -07:00
51b2642be9 Let data_directory take an existing pathclass instance. 2020-09-27 10:45:58 -07:00
a2fc49b6e7 Let config.log_level None -> setLevel(NOTSET). 2020-09-27 10:45:07 -07:00
343ce508bf Add search UI for yield_albums. 2020-09-24 14:26:51 -07:00
9a85714df7 Use pathclass.Path.makedirs. 2020-09-24 14:18:23 -07:00
28181428be Synchronize Etiquette and YCDL. 2020-09-22 02:54:26 -07:00
18e1849fcf Fix video_thumbnail not checking if probe failed before using it. 2020-09-20 18:31:55 -07:00
2accb5c961 Use pathclass.Path.open. 2020-09-20 18:31:31 -07:00
55e66c8656 Fix NameError during set_override_filename. 2020-09-20 13:43:02 -07:00
f8e03bed21 Replace usage of row[0] with (column,) tuple unpack. 2020-09-20 13:41:22 -07:00
fa57386908 Don't call p.get_tags until needed, and don't sort them. 2020-09-20 13:17:51 -07:00
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
317fa3b51d Call assert_not_deleted before every @transaction. 2020-09-20 12:46:52 -07:00
497abf26cd Move circular dependency to end of file. 2020-09-20 12:46:38 -07:00
5c4c0a3034 Let jsonify.photo expect that tags are sets, not lists. 2020-09-20 12:06:10 -07:00
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
2a89cf33d3 Add has_tags=False suggestion to digest_directory docstring. 2020-09-20 11:43:18 -07:00
512470f73d Add log statement for PDB.digest_directory. 2020-09-20 11:42:44 -07:00
1acd570467 Simplify log statement for Photo.rename_file. 2020-09-20 11:41:33 -07:00
718da6c5c3 Remove leftover attributes group_sql_index, group_getter. 2020-09-20 11:41:15 -07:00
b66464dc46 Add exceptions.DeletedObject and ObjectBase.assert_not_deleted. 2020-09-20 11:31:51 -07:00
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
7412ef5162 Let parse_unit_string try int before float. 2020-09-19 04:01:49 -07:00
865c3011e5 Some linting. 2020-09-19 03:59:37 -07:00
0df556da3f Some more stricter type checks and exceptions. 2020-09-19 03:52:42 -07:00
2db1f12bfb Add constants.USER_ID_CHARACTERS and show that when raising invalid. 2020-09-19 03:51:55 -07:00
b223691107 Add helpers.collapse_whitespace. 2020-09-19 03:50:55 -07:00
1013fb81c1 Call assert_no_such_user before assert_valid_password. 2020-09-19 03:35:26 -07:00
7b7015125e Add period to all exception messages. 2020-09-19 03:32:16 -07:00
06c811d858 Move all get_user_id_or_none calls to "these might raise" portions. 2020-09-19 03:24:02 -07:00
adb1d0ef39 Replace all double blank lines with single, improve hash headers.
There was always some semblance that two blank lines has some kind of
meaning or structure that's different from single blank lines, but
in reality it was mostly arbitrary and I can't stand to look at it
any more.
2020-09-19 03:13:23 -07:00
a7cc6d2383 Rename all caught exception variables to "exc", not "e". 2020-09-19 03:08:45 -07:00