Commit Graph

1539 Commits (19d12c3132c8ca10adb77862d38d39caa4375aaa)

Author SHA1 Message Date
voussoir 19d12c3132
Jsonify child objects will be ids only, not more json.
Because albums and tags have both parents and children, there's quite
a lot of redundant json when rendering each as a dict. I'd rather
improve the bulk searchability of objects by their ids than bloat
every response with redundant renderings of the same child objects.

Also, all include_* parameters are now nested inside the minimal
check so that minimal will take priority.
2022-09-27 17:53:07 -07:00
voussoir e9076c02f8
Add gunicorn, bs4 to requirements.txt. 2022-09-27 17:46:03 -07:00
voussoir 762f86c397
Improve usage of trusted_file throughout new_photo, metadata. 2022-09-27 17:45:24 -07:00
voussoir 219b1ca5bb
Raise NoClosestPhotoDB when FileNotFound. 2022-09-07 18:06:50 -07:00
voussoir 57d311569f
Initialize sql_write before sql_read so file can be created.
The read only handle doesn't want to create the db file
when it does not yet exist.
2022-09-07 18:06:32 -07:00
voussoir 97e14b9917
Add cli command new_photo. 2022-08-31 20:21:07 -07:00
voussoir b52e79f99c
Update argument to yield_new_photos, yield_old_photos. 2022-08-21 14:02:39 -07:00
voussoir 4f063cd90e
Fix return value of (photo, is_new) for digest. 2022-08-21 14:01:43 -07:00
voussoir bdf2ba6334
Slight linting. 2022-08-14 13:50:32 -07:00
voussoir 306655ec8b
Express image area in megapixels. 2022-08-14 13:22:21 -07:00
voussoir 7ec1f7e4c8
Fix use of dotdot notation in cli help. 2022-08-14 13:20:05 -07:00
voussoir fedd8e00a7
Add tag_exif_camera_lens.py utility. 2022-08-13 18:16:57 -07:00
voussoir f420367d55
Let digest_directory distinguish between new and existing photos. 2022-08-13 18:16:04 -07:00
voussoir ec1197d7ca
Add trusted_file to disable metadata safeguards like PIL size limit. 2022-08-13 18:12:21 -07:00
voussoir 0864572930
Alphabetize _reload_audio_metadata. 2022-08-13 18:09:53 -07:00
voussoir d15e8325aa
Fix use of dotdot notation in search placeholders. 2022-08-13 18:09:21 -07:00
voussoir 57f1b80442
Use SQL generated columns for area, aspectratio, basename, bitrate. 2022-08-13 18:08:45 -07:00
voussoir d819b23263
Fix thumbnail migrator use of pathclass. 2022-08-13 17:48:26 -07:00
voussoir cfe724b384
Update worms, insert data renamed to pairs. 2022-08-13 07:27:16 -07:00
voussoir 802aae644f
Use pil lanczos. 2022-08-06 16:17:53 -07:00
voussoir c159dbbc0f
Improve photo contextmenu, reuse a single contextmenu element for all. 2022-08-04 06:10:44 -07:00
voussoir df5870502a
Add syntax for now+seconds, now-seconds when parsing units.
This helps a lot when it comes to querying for atom feeds. You can
request the last X hours of items instead of picking some limit
that you hope is high enough for the highs and wastes data during
the lows.

You want created=now-86400..now for one day.
2022-08-04 06:10:44 -07:00
voussoir f8b1cd9178
Rename hyphen_range to dotdot_range a..b so we can have negatives.
Hyphen range doesn't allow negative numbers. The dot-dot syntax
is used by git, ruby, and others so I think it's a good pick.
2022-08-04 06:10:43 -07:00
voussoir 6dd4cfe59b
Add admin endpoint uncache. 2022-07-22 19:23:36 -07:00
voussoir d61f504d60
Alphabetize functions. 2022-07-22 16:43:29 -07:00
voussoir 47c879764a
Rename timestamp_to_datetime to utcfromtimestamp.
It is what it is.
2022-07-21 17:21:49 -07:00
voussoir 6683c65784
Add number of bookmarks to /bookmarks. 2022-07-20 19:03:28 -07:00
voussoir 1974062ea4
Add number of albums to /albums. 2022-07-20 19:03:28 -07:00
voussoir 145d0a8429
Remove the + and x buttons on tags page.
I don't think they provide a whole lot of benefit since clicking
through to the tag itself and then searching is easy enough, and
these elements triple the number of dom nodes on the page.
2022-07-20 19:03:27 -07:00
voussoir 2562084fce
Experimental atom feed for photos, albums, search. 2022-07-20 19:03:27 -07:00
voussoir 17e0d0b6a6
Fix contextmenu position:fixed, affected by final BringRSS solution. 2022-07-20 19:03:27 -07:00
voussoir 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
voussoir cb43b5d9e0
Migrate all IDs from strings to ints. Random 32 bit IDs in future. 2022-07-20 19:03:26 -07:00
voussoir 49992f59aa
Add /admin/dbdownload. 2022-07-20 19:03:25 -07:00
voussoir 0e00a1e981
Use new worms version. 2022-07-20 19:03:25 -07:00
voussoir a436dafa9c
Use worms select_one_value. 2022-06-03 19:47:27 -07:00
voussoir a39e600619
Add favicon link to all HTML templates. 2022-05-28 16:21:23 -07:00
voussoir 675c2eaef9
Update copyright year. 2022-04-05 11:53:35 -07:00
voussoir 6695717acd
Finally actually really improve contextmenu positioning.
why am i so bad at this
2022-04-05 11:53:35 -07:00
voussoir 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
voussoir f7c51f394d
Add proxyfix to the dev server as well.
Obviously the dev server shouldn't be used in prod, but when testing
it's helpful for them to behave a little more similarly.
2022-03-26 13:22:03 -07:00
voussoir 0d134b581b
Add spinners.close_button_spinner so user doesn't need spinnerCloser.
The window[button.spinnerCloser]() was always weird.
2022-03-26 13:22:03 -07:00
voussoir d620660975
Let generate_id take the thing class instead of the table string. 2022-03-26 13:22:03 -07:00
voussoir c63f63f6a7
Use sql.row_factory = sqlite3.Row. 2022-03-26 13:22:02 -07:00
voussoir 01a4864762
Add hotkeys.register_help, forward the event to the hotkey's func. 2022-03-26 13:22:02 -07:00
voussoir ebe6fcb07d
Rename spinner.js -> spinners.js.
It has been frustrating when I want to name a variable spinner.
2022-03-26 13:22:02 -07:00
voussoir 9d1dd60644
Add css-js class bind-enter-to-button, bind-ctrl-enter-to-button. 2022-03-26 13:22:01 -07:00
voussoir 93e03656ca
Small tidy ups. 2022-03-26 13:22:01 -07:00
voussoir 7d351a5e87
Give content_body padding instead of margin.
Two reasons:
- Whether the header is present or not, the content body will have
  some padding at the top of the screen.
- When the content body is long, it will naturally pad itself from the
  bottom of the screen. Previously it would scrape the bottom edge.
2022-03-26 13:22:01 -07:00
voussoir 52a90c6395
Don't stop propagation of contextmenus background click. 2022-03-26 13:22:00 -07:00