Commit graph

1278 commits

Author SHA1 Message Date
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
f70349470f Don't gzip large responses. 2020-09-20 01:06:23 -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
7f410f1da5 Remove leftover /apitest endpoint. 2020-09-19 03:02:14 -07:00
2ac6633f55 Remove leftover print statement. 2020-09-18 21:36:09 -07:00
79578823f5 Fix jinja variable not defined. 2020-09-18 21:28:21 -07:00
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
83d22d2736 Remove unnecessary declarations of grid-area: left, right. 2020-09-18 21:01:38 -07:00
8da18ba502 Add --narrow, --wide to common.css, is_wide_mode to common.js. 2020-09-18 20:57:35 -07:00
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
854f210a4f Alphabetize Photo.set_searchhidden. 2020-09-18 13:11:56 -07:00
4b5a52abb4 Take advantage of the tag_exports cache for get_all_tag_names. 2020-09-17 21:22:54 -07:00
4bcfd9958a Split get_user into _by_id, _by_username. 2020-09-17 21:11:42 -07:00
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
838982b6c3 Let login take username.
This cuts back on unnecessary sql selects.
2020-09-17 21:02:55 -07:00
14a2014c68 Add link to /userid/id on /user page. 2020-09-17 20:45:58 -07:00
40e458e713 Don't update self.attribute until sql_update goes through. 2020-09-17 20:44:33 -07:00
a093dc273c Update self.real_path after relocating and renaming. 2020-09-17 20:43:17 -07:00
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
26b9371f26 When @transaction rolls back, log the name of the called method. 2020-09-17 18:33:56 -07:00
4c9668c920 Instead of anti-autofocusing, use a pageload that calls focus(). 2020-09-17 18:17:08 -07:00
f9e4bac186 Use more _form functions instead of inline api.js calls. 2020-09-17 18:14:07 -07:00
c99f6858df Add Photo.normalize_override_filename. 2020-09-17 17:46:52 -07:00
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
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
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
1af8342202 Catch json parse errors, setting json_ok = false. 2020-09-15 23:10:35 -07:00
fbb373c37e Remove test_etiquette_site.py. 2020-09-15 19:47:14 -07:00
c91888a738 Some linting. 2020-09-15 19:47:07 -07:00
35b5b5cd21 Some slate.css color tweaks. 2020-09-15 15:04:27 -07:00
2a379919e0 Use grid instead of flexbox for message_area for better gaps. 2020-09-15 15:03:40 -07:00
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