Commit graph

1616 commits

Author SHA1 Message Date
173c07a0bf Add some more exception hierarchy. Exists / InvalidUN/PW. 2018-02-16 22:13:54 -08:00
3944e1d862 Add CONTRIBUTING.md. 2018-02-16 21:54:22 -08:00
c6c7f51b15 Create new files for tests. Though still empty. 2018-02-16 21:45:36 -08:00
1c1e7f158f Minor fixes & pylint appeasements. 2018-02-16 21:28:36 -08:00
e5a316ff9c Remove old SQL_ constants. Use the dicts. 2018-02-16 20:40:58 -08:00
a8ead9c0c9 Replace a lot of manual insert/update with helper. 2018-02-16 20:19:18 -08:00
3e5031a1c5 Add methods sql_insert, sql_update to centralize sqlhelper work. 2018-02-16 18:49:02 -08:00
655d1fa235 Prepare to use dicts SQL_COLUMNS, _INDEX instead of separate. 2018-02-16 18:48:03 -08:00
4e8a67aa54 Avoid sql indexing by instantiating User earlier. 2018-02-16 18:40:57 -08:00
bc4e228a25 Remove a lot of the commented code from earlier search. 2018-02-04 15:11:46 -08:00
6f4530c88c Let SessionManager.get require Request object; Check IP addr.
So far there is no use case in which get needs to be called with
something other than a Request, and I don't think there will be.
So let's make that part of the design and we can also take the
opportunity to check IP.
2018-02-03 02:10:07 -08:00
c6a396c658 Move ef/endpoints/common.py to ef/common.py
Decided it doesn't belong with the endpoints files.
2018-02-03 01:43:41 -08:00
f7dcb489c5 Remove unnecessary intification of timestamps.
I decided I want to have higher precision especially because
batch inserts were having several photos with the same
created timestamp making orderby >= dumb.
2018-02-03 01:35:32 -08:00
b39f2e3f7b Create basic_endpoints file. Don't put them in __init__. 2018-02-03 01:34:07 -08:00
dec28b321a Rename recursive_dict_update's parameters for clarity. 2018-02-03 01:10:54 -08:00
f266e1c79c Split PhotoDB's large init into some smaller portions. 2018-02-03 01:10:04 -08:00
f9ee56187c Rename attr database_file to database_filepath.
To make it more consistent with config_filepath and show
that it's a path object.
2018-01-30 19:46:43 -08:00
20462f1085 Oops, add back missing CSS on mmf deleter. 2018-01-30 19:45:59 -08:00
06599df80b Update voussoirkit requirement to 0.0.19. 2018-01-30 19:45:21 -08:00
75953c2999 Add docstrings to the photoclipboard functions. 2018-01-19 22:24:07 -08:00
cf59f96813 Perform serverside expiration of sessions on get attempt.
Also remove unnecessary conversion to int.
2018-01-19 21:59:50 -08:00
cdd8f9e248 Only reload the page if the clip operation was successful. 2018-01-19 21:44:21 -08:00
b00d93901a Apply werkzeug ProxyFix so that request.remote_addr is correct. 2018-01-17 20:53:25 -08:00
7352d1e141 If the user has a token we don't recognize, give them a new one. 2018-01-15 20:04:47 -08:00
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
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
8a1f2c65f9 Tighten the types for _normalize_token; include werkzeug wrappers. 2018-01-15 18:39:40 -08:00
5e6f3d96b1 Remove localstorage from the todo list because that's done. 2018-01-13 20:06:53 -08:00
c62e6cd80b Fix synonym fetcher using outdated column name. 2018-01-13 20:02:49 -08:00
526cc7e07d Add search form input for created. 2018-01-13 20:02:12 -08:00
14750eafc5 Move DB_INIT to constants; auto parse column names. 2018-01-13 16:48:48 -08:00
ec4b5b014b Oops, fix missing return statement.
That would cause problems.
2018-01-13 16:14:01 -08:00
57f007d595 Don't use from etiquette import. 2018-01-13 16:12:52 -08:00
d84fc037fe Use urandom instead of uuid for session id. 2018-01-13 15:49:14 -08:00
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
178a7df0b3 Add some more log debugs. 2018-01-11 19:32:15 -08:00
5fccf5548b Add Before and After search links to the photo sidebar. 2018-01-11 16:11:38 -08:00
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
b5902ba4f1 Integrate voussoirkit sqlhelpers.
https://github.com/voussoir/else/tree/master/SQLHelpers
2018-01-09 21:15:50 -08:00
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
d548e09a96 Add .nfo to the custom mimetypes as text/plain. 2018-01-09 18:46:32 -08:00
b89d5f77d5 Oops, add back some css classes that I missed during the rearrangement. 2017-12-20 20:11:34 -08:00
b859dbd22a Add bookmark cache, replace get_bookmark code with call to get_thing. 2017-12-20 20:10:58 -08:00
1f7247dbe1 Add paste/unpaste buttons to clipboard tray toolbox for albums. 2017-12-16 14:19:37 -08:00
3d8aeec484 Add API endpoints for add/remove photo from album. 2017-12-16 14:19:00 -08:00
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
f59f94cae9 Fix required_fields looking at wrong jsonify file. 2017-12-16 12:25:01 -08:00
4a5583c091 Add tray_lines div so that tray_body might hold more buttons. 2017-12-16 12:24:46 -08:00
67c2dadffa Expand the project structure diagram on the readme. 2017-12-16 04:08:15 -08:00
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