b5274fefb9
Add caching.py to enable browser caching of files.
2018-03-18 21:42:31 -07:00
ea7401b4f2
Fix common.send_file to use pathclass.
2018-03-18 21:40:32 -07:00
0de755f138
Let the SessionManager use a cacheclass instead of plain dict.
2018-03-18 21:23:48 -07:00
84599b44f7
Store author for bookmark creation.
2018-03-18 15:59:58 -07:00
dffde094e8
Give Albums and Tags an author_id column.
...
Keeping V11 because I hadn't published previous commits yet.
2018-03-18 15:28:26 -07:00
ffe0be21f5
Fix Photo thumbnail paths to be relative to the PDB's thumb dir.
...
Previously they were relative to the directory from which the client
was launched, meaning it usually started with ./_etiquette.
Now it should be more portable and less tight.
2018-03-13 02:50:54 -07:00
5f6d21fdee
Give Photos a searchhidden
property.
...
By default, photos with searchhidden do not appear in the search
results. This allows a small number of representative images from
a large album to appear in the results, while the rest can be
found on the album's page.
The same effect could be achieved with a tag and forbid search,
but tag searching has much higher cost and it would be more difficult
to implement as a default behavior without requiring lots of special
checks whenever listing tags etc.
2018-03-09 17:10:27 -08:00
f34164bf85
Add search feature has_thumbnails.
...
Search needs a complete refactor.
But until then, let's keep adding to it!
2018-02-24 23:06:25 -08:00
4e98fcf137
Oops, add the session to /clipboard.
2018-02-24 19:18:15 -08:00
0228fbebfd
Move the random hex generator to helpers.
2018-02-24 18:54:59 -08:00
5add26d8fb
Add endpoint /batch/photos/refresh_metadata.
2018-02-24 12:52:36 -08:00
5a1d259780
Add /clipboard UI for mass-tagging.
2018-02-22 15:23:57 -08:00
761ae5c30c
Add endpoints /batch/photos/add_tag and /remove_tag.
2018-02-20 17:23:51 -08:00
ebe0fcee40
Rename URL /photo_cards -> /batch/photos/photo_card.
2018-02-19 23:44:24 -08:00
91d445a877
Add new page /clipboard, with full photo cards.
2018-02-17 19:12:34 -08:00
606a66cbf9
Remove Photo.filepath and real_filepath in favor of real_path.
2018-02-17 15:19:36 -08:00
59cd922a53
Remove unnecessary methods=GET.
2018-02-17 14:59:02 -08:00
2f9b51b636
Rename Photo.tags -> get_tags.
2018-02-16 23:07:21 -08:00
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
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
b39f2e3f7b
Create basic_endpoints file. Don't put them in __init__.
2018-02-03 01:34: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
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
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
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
3d8aeec484
Add API endpoints for add/remove photo from album.
2017-12-16 14:19:00 -08:00
f59f94cae9
Fix required_fields looking at wrong jsonify file.
2017-12-16 12:25:01 -08:00
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
bb5fa816d8
Cleanup: Rename GroupableMixin.add to add_child for clarity.
...
Especially since for albums it might sound like you're adding a photo.
2017-11-11 22:41:26 -08:00
3f69a2c240
Cleanup: Replace "objectid" with "object_id" in the Python portions.
2017-11-11 22:38:51 -08:00
4836efcf23
HTTP redirect /tag/synonym to /tag/master.
2017-09-18 14:16:33 -07:00
f4ee7ddd9e
Include werkzeug Response type in typecheck.
2017-09-18 14:10:25 -07:00
4fc203634c
Add new config "enable_login".
2017-07-20 23:25:23 -07:00
9f45f0851a
Allow renaming the tag via /tag/x/edit.
2017-07-16 17:28:44 -07:00
22c0163f5b
Add /bookmark/id/edit and /bookmark/id.json endpoints.
2017-07-13 23:02:57 -07:00
533970f248
Add more stuff to the to-do list.
2017-07-09 15:48:47 -07:00
a2906db06a
Let /refresh_metadata try to generate a thumbnail.
2017-07-09 15:45:10 -07:00
57355cb032
Add /userid/id redirect to /user/name
2017-06-19 17:03:07 -07:00
e58c50c94f
Return 400 instead of 500 for /albums/create_album errors.
2017-06-16 02:24:57 -07:00
1b9f7608b1
Send more jsonified exceptions instead of just 500.
2017-06-14 22:48:50 -07:00
d208a254a9
Add /tag/abcd/edit endpoint, no interface yet.
2017-06-14 12:31:39 -07:00
fa176fdfb8
Redirect /tags/abcde to /tag/abcde
2017-06-14 12:31:17 -07:00
6cb13c7835
Order endpoints by URL instead of by name.
...
That way, gets and posts of same type can be together.
2017-06-12 20:59:01 -07:00