d1b0fb6aec
Add Bookmark.atomify and /bookmarks.atom.
2022-11-11 11:41:24 -08:00
732c13440e
Use flasktools.atom_response.
2022-11-11 11:39:04 -08:00
e89d6fe10e
Remove "UTC" from the isoformat since it already contains +0000.
2022-11-09 19:41:48 -08:00
11706cc1c7
Add admin button to clear all login sessions.
2022-11-07 17:51:02 -08:00
b64901105c
Move search to an entire class of its own.
...
The initial motivation for this was to make the "more_after_limit"
feature, which would help the UI to not show a next page button when
the number of results was exactly equal to the limit.
However, in order to surface this more_after_limit status using only
the old search generator, it would have to be a special yield at the
end. I was getting tired of the special yields like give_back_params
at the beginning and warning_bag at the end, and this would be worse.
There is a lot of sideband information about the search that is now
more easily accessible when the search is its own object.
2022-11-06 22:58:36 -08:00
de2bf6a81a
Move login code over to User object.
2022-11-06 22:59:12 -08:00
a514ed5ff3
Use voussoirkit timetools.
2022-11-06 22:59:11 -08:00
172a539f24
Default yield_albums to false instead of true.
...
I'm finding I just don't like the ux of having them on default.
2022-10-29 17:17:37 -07:00
328e84b0c7
Fix search by SHA256, didn't finish implementing.
2022-10-29 17:17:37 -07:00
1e5fc81019
Rename endpoint function logout -> post_logout.
2022-10-01 14:24:36 -07:00
3767558c66
Add search filter has_albums.
...
Sometimes it's nice to search just for the free spirits.
2022-09-28 19:49:01 -07:00
57f1b80442
Use SQL generated columns for area, aspectratio, basename, bitrate.
2022-08-13 18:08:45 -07:00
6dd4cfe59b
Add admin endpoint uncache.
2022-07-22 19:23:36 -07:00
d61f504d60
Alphabetize functions.
2022-07-22 16:43:29 -07:00
2562084fce
Experimental atom feed for photos, albums, search.
2022-07-20 19:03:27 -07:00
4001f6f371
Use datetime objects instead of timestamps in object model.
...
Trying to make better use of objects in this object oriented language.
2022-07-20 19:03:26 -07:00
49992f59aa
Add /admin/dbdownload.
2022-07-20 19:03:25 -07:00
0e00a1e981
Use new worms version.
2022-07-20 19:03:25 -07:00
e6f5d16a03
Bring catch_etiquette_exception into common.
...
The decorators file only had a single function in it.
2022-04-05 11:53:35 -07:00
93e03656ca
Small tidy ups.
2022-03-26 13:22:01 -07:00
4261c42512
Add xdg-open for non-windows use.
2022-01-11 01:00:36 -08:00
5efad72425
Use log.warning for traceback instead of print_exc.
2021-12-21 16:55:46 -08:00
017523bdac
Return 404 if we try to reload_metadata on a missing file.
2021-12-21 16:55:03 -08:00
1e9e948431
Move decorate_and_route to flasktools.
2021-10-31 15:11:17 -07:00
1f18713875
Add reminder of what __file__.parent.parent evaluates to.
2021-10-31 15:10:54 -07:00
f0d302d4a5
Move give_theme_cookie to flasktools.
2021-10-30 17:29:43 -07:00
6ac1d8a90a
Add remark about X-Forwarded-For.
2021-10-24 23:21:11 -07:00
779eff1761
Don't show the registration form if registration is disabled.
2021-10-24 22:17:50 -07:00
6794caa32b
Call photo._uncache instead of doing it manually.
2021-10-18 14:10:59 -07:00
91cf08efde
Match renamed flasktools.json_response.
2021-10-01 23:05:46 -07:00
fd42ef16e1
Add admin endpoints.
2021-10-01 22:42:45 -07:00
0c51201901
Move truthystring to stringtools.
2021-09-05 01:21:04 -07:00
d4025e865b
Move cached_endpoint, required_fields to flasktools.
2021-09-03 12:45:07 -07:00
2e0b4cfa14
Replace run_generator with gentools.run.
2021-08-31 19:23:56 -07:00
e9d5711f29
Some linting.
2021-08-20 22:54:12 -07:00
82a6103d8d
Fix leftover imports.
2021-06-08 16:04:20 -07:00
f003f55fca
Move make_json_response to voussoirkit.flasktools.
2021-06-04 21:49:45 -07:00
47c4790d36
Remove unnecessary intermediate variable ip.
2021-06-04 21:33:55 -07:00
7f8a007e2d
Add decorators.give_theme_cookie to decouple from render_template.
...
I realized it was not appropriate for render_template to be handling
this responsibility, but previously did not think of another way.
Now I did.
2021-06-04 21:29:23 -07:00
1554b86c11
Use flasktools.ensure_response_type.
2021-06-04 21:28:23 -07:00
d091efb619
Flip all_albums.json to id:name map.
2021-06-04 21:00:49 -07:00
53e8030186
Move REQUEST_TYPES, RESPONSE_TYPES to voussoirkit.flasktools.
2021-06-04 21:00:22 -07:00
0012999744
Remove some pointless whitespace.
2021-06-04 20:52:39 -07:00
975408227b
Improve cached_endpoint behavior with sentinel.
2021-06-04 17:49:46 -07:00
56ab6636cc
Add Swipe UI.
2021-06-03 21:28:05 -07:00
e8cb183849
Add cards.js photos.create, render clipboard batches on client.
2021-05-29 08:46:25 -07:00
89205ac24a
Add interface for copying tags from other photos.
2021-04-29 13:12:37 -07:00
e3872e1da4
Update requirements.txt.
2021-04-04 11:17:45 -07:00
ff1ec3896b
Use voussoirkit.flasktools for gzip_response.
2021-04-02 18:31:44 -07:00
400c255aea
Add "Show in folder" button to photos, albums.
2021-02-25 18:57:41 -08:00