voussoir
55e1281774
Improve technique for finding cookie set by function.
...
Instead of iterating through all the outgoing headers.
2018-01-15 18:56:41 -08:00
voussoir
be0fca729f
Create sessions for anons as well, instead of just logged in.
...
It makes sense that anon sessions are still sessions. So @give_token
will ensure that every request has a session. Logged in conditionals
move from 'if session' to 'if session.user'.
2018-01-15 18:41:21 -08:00
voussoir
8a1f2c65f9
Tighten the types for _normalize_token; include werkzeug wrappers.
2018-01-15 18:39:40 -08:00
voussoir
5e6f3d96b1
Remove localstorage from the todo list because that's done.
2018-01-13 20:06:53 -08:00
voussoir
c62e6cd80b
Fix synonym fetcher using outdated column name.
2018-01-13 20:02:49 -08:00
voussoir
526cc7e07d
Add search form input for created.
2018-01-13 20:02:12 -08:00
voussoir
14750eafc5
Move DB_INIT to constants; auto parse column names.
2018-01-13 16:48:48 -08:00
voussoir
ec4b5b014b
Oops, fix missing return statement.
...
That would cause problems.
2018-01-13 16:14:01 -08:00
voussoir
57f007d595
Don't use `from etiquette import`.
2018-01-13 16:12:52 -08:00
voussoir
d84fc037fe
Use urandom instead of uuid for session id.
2018-01-13 15:49:14 -08:00
voussoir
c049b97bc6
Replace etiquette_flask.py with endpoints package.
...
Split the object types' endpoints into separate files and group
them better. Should be much easier to navigate and expand.
2018-01-11 19:40:56 -08:00
voussoir
178a7df0b3
Add some more log debugs.
2018-01-11 19:32:15 -08:00
voussoir
5fccf5548b
Add Before and After search links to the photo sidebar.
2018-01-11 16:11:38 -08:00
voussoir
fe88cdc413
Add decorator catch_etiquette_exception.
...
To reduce the number of 500 errors and provide 400 instead.
2018-01-09 21:21:15 -08:00
voussoir
b5902ba4f1
Integrate voussoirkit sqlhelpers.
...
https://github.com/voussoir/else/tree/master/SQLHelpers
2018-01-09 21:15:50 -08:00
voussoir
6f371701e4
Fix digest second-scan bug; Break down into smaller functions.
...
There was a bug where moving an album out of its determined parent
caused future digests to fail because I wanted to use the GroupExists
for control flow, but due to the @transaction decorator it was rolling
back the changes.
Moved some of the logical pieces of the function into subfunctions
as a visual and readability aid.
2018-01-09 18:59:15 -08:00
voussoir
d548e09a96
Add .nfo to the custom mimetypes as text/plain.
2018-01-09 18:46:32 -08:00
voussoir
b89d5f77d5
Oops, add back some css classes that I missed during the rearrangement.
2017-12-20 20:11:34 -08:00
voussoir
b859dbd22a
Add bookmark cache, replace get_bookmark code with call to get_thing.
2017-12-20 20:10:58 -08:00
voussoir
1f7247dbe1
Add paste/unpaste buttons to clipboard tray toolbox for albums.
2017-12-16 14:19:37 -08:00
voussoir
3d8aeec484
Add API endpoints for add/remove photo from album.
2017-12-16 14:19:00 -08:00
voussoir
e41532cff1
Rearrange some button CSS classes to be more generic.
...
Adds CSS variables for the highlight and shadow so they don't need
to be custom-defined for each color of button.
Elements should use more generic classes like green_button instead of
add_tag_button unless there's a good reason.
2017-12-16 14:13:02 -08:00
voussoir
f59f94cae9
Fix required_fields looking at wrong jsonify file.
2017-12-16 12:25:01 -08:00
voussoir
4a5583c091
Add tray_lines div so that tray_body might hold more buttons.
2017-12-16 12:24:46 -08:00
voussoir
67c2dadffa
Expand the project structure diagram on the readme.
2017-12-16 04:08:15 -08:00
voussoir
443d93ce18
Add the clipboard tray where users manage their photo clipboard.
...
Appearing on search and album pages, the tray is where you can
remove items from your clipboard without having to click on its
checkbox -- that photo card may not even be on the current page.
2017-12-16 03:47:54 -08:00
voussoir
0b5f736574
Few minor text fixes.
2017-12-16 03:45:07 -08:00
voussoir
55f7da7bb2
Add the photo_clipboard feature with localStorage.
...
photo_card objects now have a checkbox which adds them
to the clipboard. No pasting or other operations yet.
2017-12-09 17:48:56 -08:00
voussoir
f69d9d409d
Give the editor toolbox a CSS class.
2017-12-08 11:59:27 -08:00
voussoir
13803dc7f7
Oops, put remove_path_badchars where it belongs alphabetically.
2017-12-07 21:37:55 -08:00
voussoir
f39717c216
Minor improvements to other helpers and their docstrings.
2017-12-07 21:32:37 -08:00
voussoir
0d0354f4da
Rename normalize_filepath to remove_path_badchars.
...
Because the function does not do any resolving or converting
to an absolute path, I feel the name 'normalize' is inaccurate
and could be misleading when read. This is more clear.
2017-12-07 21:15:10 -08:00
voussoir
6cf355d7ce
Rename comma_split to comma_space_split to better describe behavior.
2017-12-07 20:58:06 -08:00
voussoir
156e467814
Display album hierarchy as nested bullets instead of separate lists.
...
Not perfect yet but I didn't like having all those header elements.
2017-11-27 16:00:52 -08:00
voussoir
a7b5a7d42a
Multiple small cleanups, docstrings, messages, lint improvements.
2017-11-27 15:56:16 -08:00
voussoir
d7d1e155c1
Add some tasks to the to do list.
2017-11-27 15:24:55 -08:00
voussoir
bdbded6467
'info' link should point to /tag/x instead of /tags/x
2017-11-26 02:49:57 -08:00
voussoir
a0e0e9fbd2
Add a link to the info page for each tag.
2017-11-26 02:40:15 -08:00
voussoir
b3c9dd58f5
Allow custom innertext besides just the tag's name.
2017-11-26 02:38:39 -08:00
voussoir
e6a50500b9
Fix missing file_read_chunk from default config
2017-11-26 02:37:33 -08:00
voussoir
f052858d5f
Improve log creation and use custom formatter.
2017-11-26 02:37:11 -08:00
voussoir
be35f3bb1f
Fix Tag.rename from raising TagExists for old instead of desired new.
2017-11-23 21:58:38 -08:00
voussoir
64d8410977
No need for self.cur, just cur.
2017-11-16 18:03:51 -08:00
voussoir
259c9ee1ab
Add PhotoDB init arg `ephemeral`. Uses :memory: sql and tempdir.
...
Primarily necessitated by unit testing. Running through the DB_INIT
is quite slow on disk, so this argument causes the sql to be done
on an in-memory database and all the other files are put into a
TemporaryDirectory.
Eventually I would like to have the other files be in-memory too
but that may be overcomplicated and underuseful.
2017-11-16 18:02:05 -08:00
voussoir
74f4e74bdf
Add a few docstrings and update readme to-do list.
2017-11-16 16:46:39 -08:00
voussoir
8f000543ea
Add exceptions.DatabaseOutOfDate instead of just using an error string.
...
And don't raise SystemExit. Not sure what I was thinking.
2017-11-16 16:33:40 -08:00
voussoir
009c0dc678
Allow the data_directory to contain colons (fully qualified paths)
2017-11-16 16:32:05 -08:00
voussoir
73d2ef5bbf
Change exception __str__ to be the type + message
...
Because the repr is ugly
2017-11-16 16:31:10 -08:00
voussoir
a510c7b55c
Improve Album bytes caching, start caching photo count.
...
More careful uncaching of the summed bytes, to minimize
recalculation. Fewer cases where the album itself
is removed from the photodb's getter cache.
This also helps the download link on album pages disappear if
the child albums don't actually have any photos.
2017-11-12 15:21:53 -08:00
voussoir
e1a904da6f
Update readme with project structure diagram.
2017-11-12 01:14:16 -08:00