Commit Graph

488 Commits (df7fbeae0a4f51e3578bac1703be6cfbe3ddfcb5)

Author SHA1 Message Date
voussoir 5d6c5ef2b4 Raise exception if attempted override name is invalid.
Technically it doesn't really matter because the override is not
used for any file ops, but I don't like the idea of busted
path-looking strings being displayed anywhere on the interface.
2018-02-17 15:47:26 -08:00
voussoir 606a66cbf9 Remove Photo.filepath and real_filepath in favor of real_path. 2018-02-17 15:19:36 -08:00
voussoir 42728d5d67 Add method Photo.set_override_filename. 2018-02-17 15:07:26 -08:00
voussoir f7bd49b2dd Add call to remove_control_chars in remove_bad_pathchars. 2018-02-17 15:07:12 -08:00
voussoir 59cd922a53 Remove unnecessary methods=GET. 2018-02-17 14:59:02 -08:00
voussoir 0d6faa8f6e Take advantage of new sql_update to update where_keys. 2018-02-17 14:02:11 -08:00
voussoir 9939f5da1d For sql_insert / _update, let default commit=False.
Because all the calls are using it that way anyway.
2018-02-17 14:01:12 -08:00
voussoir cd4e970f04 Bump voussoirkit requirement to 0.0.20.
SQLHelpers can now update the where_key.
2018-02-17 13:48:56 -08:00
voussoir 6363cb5fc0 Rename Album.associated_directories -> get_associated_directories. 2018-02-17 13:33:27 -08:00
voussoir 574ac9f656 Slightly scale down image thumbnail to match others.
It was too big!
2018-02-16 23:30:27 -08:00
voussoir b4a28f5034 Make Photo.bytestring a @property.
This is the kind of thing that should be a @property, because
it's very low processing power and doesn't hit the database.
2018-02-16 23:16:02 -08:00
voussoir bbe392ac09 Rename Photo.author -> get_author; no longer a @property. 2018-02-16 23:11:25 -08:00
voussoir 205c49c21f Rename Photo.albums -> get_containing_albums. 2018-02-16 23:08:44 -08:00
voussoir 2f9b51b636 Rename Photo.tags -> get_tags. 2018-02-16 23:07:21 -08:00
voussoir ac9d7ede22 Rename Album.photos -> get_photos. 2018-02-16 23:03:54 -08:00
voussoir 6574450ad1 Rename Tag.synonyms -> get_synonyms. 2018-02-16 23:01:07 -08:00
voussoir fdcf07940a Rename Groupable.children -> get_children. 2018-02-16 23:00:43 -08:00
voussoir 75effafaf5 Rename Groupable.parent -> get_parent.
After making the "if x.parent is None" mistake too many times,
forgetting that it was not a @property, I've decided that the
verby name is better.
2018-02-16 22:59:34 -08:00
voussoir db92951ad6 Oops, remove incorrect name= from new_tag. 2018-02-16 22:57:35 -08:00
voussoir bf0ac1ebac Move etiquette_repl into a folder for consistency.
The items in the frontends folder should essentially be
black boxes with a launch file. Now the repl one looks the same
as the flask.
2018-02-16 22:31:10 -08:00
voussoir 3c4f69f647 Specify name= on calls to PDB.get_tag.
Sometimes it's easy to forget whether its the name or ID,
and I like the consistency of specifying.
2018-02-16 22:25:56 -08:00
voussoir 16ac6f8b85 Move UN / PW validation to helper _assert methods. 2018-02-16 22:18:19 -08:00
voussoir 173c07a0bf Add some more exception hierarchy. Exists / InvalidUN/PW. 2018-02-16 22:13:54 -08:00
voussoir 3944e1d862 Add CONTRIBUTING.md. 2018-02-16 21:54:22 -08:00
voussoir c6c7f51b15 Create new files for tests. Though still empty. 2018-02-16 21:45:36 -08:00
voussoir 1c1e7f158f Minor fixes & pylint appeasements. 2018-02-16 21:28:36 -08:00
voussoir e5a316ff9c Remove old SQL_ constants. Use the dicts. 2018-02-16 20:40:58 -08:00
voussoir a8ead9c0c9 Replace a lot of manual insert/update with helper. 2018-02-16 20:19:18 -08:00
voussoir 3e5031a1c5 Add methods sql_insert, sql_update to centralize sqlhelper work. 2018-02-16 18:49:02 -08:00
voussoir 655d1fa235 Prepare to use dicts SQL_COLUMNS, _INDEX instead of separate. 2018-02-16 18:48:03 -08:00
voussoir 4e8a67aa54 Avoid sql indexing by instantiating User earlier. 2018-02-16 18:40:57 -08:00
voussoir bc4e228a25 Remove a lot of the commented code from earlier search. 2018-02-04 15:11:46 -08:00
voussoir 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
voussoir 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
voussoir 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
voussoir b39f2e3f7b Create basic_endpoints file. Don't put them in __init__. 2018-02-03 01:34:07 -08:00
voussoir dec28b321a Rename recursive_dict_update's parameters for clarity. 2018-02-03 01:10:54 -08:00
voussoir f266e1c79c Split PhotoDB's large init into some smaller portions. 2018-02-03 01:10:04 -08:00
voussoir 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
voussoir 20462f1085 Oops, add back missing CSS on mmf deleter. 2018-01-30 19:45:59 -08:00
voussoir 06599df80b Update voussoirkit requirement to 0.0.19. 2018-01-30 19:45:21 -08:00
voussoir 75953c2999 Add docstrings to the photoclipboard functions. 2018-01-19 22:24:07 -08:00
voussoir cf59f96813 Perform serverside expiration of sessions on get attempt.
Also remove unnecessary conversion to int.
2018-01-19 21:59:50 -08:00
voussoir cdd8f9e248 Only reload the page if the clip operation was successful. 2018-01-19 21:44:21 -08:00
voussoir b00d93901a Apply werkzeug ProxyFix so that request.remote_addr is correct. 2018-01-17 20:53:25 -08:00
voussoir 7352d1e141 If the user has a token we don't recognize, give them a new one. 2018-01-15 20:04:47 -08:00
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