Commit Graph

1091 Commits (a41c843cb9937363964f7b5fafcdc70d3ab363b0)

Author SHA1 Message Date
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
voussoir 7b7015125e Add period to all exception messages. 2020-09-19 03:32:16 -07:00
voussoir 06c811d858 Move all get_user_id_or_none calls to "these might raise" portions. 2020-09-19 03:24:02 -07:00
voussoir 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
voussoir a7cc6d2383 Rename all caught exception variables to "exc", not "e". 2020-09-19 03:08:45 -07:00
voussoir 7f410f1da5 Remove leftover /apitest endpoint. 2020-09-19 03:02:14 -07:00
voussoir 2ac6633f55 Remove leftover print statement. 2020-09-18 21:36:09 -07:00
voussoir 79578823f5 Fix jinja variable not defined. 2020-09-18 21:28:21 -07:00
voussoir 3fb198f994 Add explicit @media queries for wide mode, not just default to override.
Any properties that are different in wide/narrow mode should be defined
in the correct media query. I got tired of having wide mode be the
default and then narrow mode having to unset/initial all the attributes
that aren't relevant to narrow.
2020-09-18 21:12:28 -07:00
voussoir 83d22d2736 Remove unnecessary declarations of grid-area: left, right. 2020-09-18 21:01:38 -07:00
voussoir 8da18ba502 Add --narrow, --wide to common.css, is_wide_mode to common.js. 2020-09-18 20:57:35 -07:00
voussoir 9a29048ccf Split sticky_side functionality into _side, _bottom.
This makes the role of each css definition more clear, and could allow
for cases where the side is sticky in wide mode but not sticky in
narrow mode.
2020-09-18 20:37:40 -07:00
voussoir 854f210a4f Alphabetize Photo.set_searchhidden. 2020-09-18 13:11:56 -07:00
voussoir 4b5a52abb4 Take advantage of the tag_exports cache for get_all_tag_names. 2020-09-17 21:22:54 -07:00
voussoir 4bcfd9958a Split get_user into _by_id, _by_username. 2020-09-17 21:11:42 -07:00
voussoir 22d16693f3 Remove path parameter from get_album, remove get_album_by_id.
First of all, I realized the return statement was using the
outdated singular name of the method. But anyway, I don't like the
idea that this method would sometimes return a single album by id
or a list of albums by path. If you want to get by path, use
get_albums_by_path explicitly.
2020-09-17 21:09:10 -07:00
voussoir 838982b6c3 Let login take username.
This cuts back on unnecessary sql selects.
2020-09-17 21:02:55 -07:00
voussoir 14a2014c68 Add link to /userid/id on /user page. 2020-09-17 20:45:58 -07:00
voussoir 40e458e713 Don't update self.attribute until sql_update goes through. 2020-09-17 20:44:33 -07:00
voussoir a093dc273c Update self.real_path after relocating and renaming. 2020-09-17 20:43:17 -07:00
voussoir 39b7f3cd98 Experiment: Remove character whitelist for tag names.
I have always felt bad about forbidding unicode in tag names,
but I want to make sure I have a grip on sanitization / preventing
abuse before allowing it. I think stripping control characters is
enough and any abuse can be handled manually.
Of course that's all fiction because there are no users except myself.
2020-09-17 18:52:06 -07:00
voussoir 26b9371f26 When @transaction rolls back, log the name of the called method. 2020-09-17 18:33:56 -07:00
voussoir 4c9668c920 Instead of anti-autofocusing, use a pageload that calls focus(). 2020-09-17 18:17:08 -07:00
voussoir f9e4bac186 Use more _form functions instead of inline api.js calls. 2020-09-17 18:14:07 -07:00
voussoir c99f6858df Add Photo.normalize_override_filename. 2020-09-17 17:46:52 -07:00
voussoir 2229a876e0 Remove to-do for album cards.
When I first added album cards I left this line on the to do list
because I wasn't sure if I would wind up scrapping them. Although they
still need refinement, I know they'll be sticking around so let's
remove this.
2020-09-17 17:37:28 -07:00
voussoir a996861b22 Remove to-do for "commit too early" message.
This has become obsolete at some point, when commit became part
of the transaction decorator and defaulted to False.
2020-09-17 17:36:11 -07:00
voussoir d0b4c20413 Remove to-do for lost & found.
Let's see if this inode tracking thing works out, and it might be
an adequate solution to the problem. As long as non-unix filesystems
work reliably and you aren't moving files across partitions.
Hashing is still an idea on the table.
2020-09-17 17:34:13 -07:00