Commit Graph

299 Commits (20462f108525428fbe5139feb2de69242bfbb051)

Author SHA1 Message Date
voussoir 259c9ee1ab Add PhotoDB init arg `ephemeral`. Uses :memory: sql and tempdir.
Primarily necessitated by unit testing. Running through the DB_INIT
is quite slow on disk, so this argument causes the sql to be done
on an in-memory database and all the other files are put into a
TemporaryDirectory.

Eventually I would like to have the other files be in-memory too
but that may be overcomplicated and underuseful.
2017-11-16 18:02:05 -08:00
voussoir 74f4e74bdf Add a few docstrings and update readme to-do list. 2017-11-16 16:46:39 -08:00
voussoir 8f000543ea Add exceptions.DatabaseOutOfDate instead of just using an error string.
And don't raise SystemExit. Not sure what I was thinking.
2017-11-16 16:33:40 -08:00
voussoir 009c0dc678 Allow the data_directory to contain colons (fully qualified paths) 2017-11-16 16:32:05 -08:00
voussoir 73d2ef5bbf Change exception __str__ to be the type + message
Because the repr is ugly
2017-11-16 16:31:10 -08:00
voussoir a510c7b55c Improve Album bytes caching, start caching photo count.
More careful uncaching of the summed bytes, to minimize
recalculation. Fewer cases where the album itself
is removed from the photodb's getter cache.

This also helps the download link on album pages disappear if
the child albums don't actually have any photos.
2017-11-12 15:21:53 -08:00
voussoir e1a904da6f Update readme with project structure diagram. 2017-11-12 01:14:16 -08:00
voussoir b721e5a1cd Move site tests to the site frontend folder. 2017-11-12 01:14:02 -08:00
voussoir 1766b24e2f Rename test_phototagger to test_etiquette 2017-11-11 22:50:27 -08:00
voussoir 96856e9361 Cleanup: More minor dusting, commenting, clarity renaming. 2017-11-11 22:49:03 -08:00
voussoir 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
voussoir 3f69a2c240 Cleanup: Replace "objectid" with "object_id" in the Python portions. 2017-11-11 22:38:51 -08:00
voussoir c75071ad2d Clean up the erepl code a little bit. 2017-11-11 21:40:18 -08:00
voussoir a4b875b9ff Fix config file not being updated when the default updates.
The len check was incorrect ever since I started nesting keys.
Now we measure all of the keys recursively.
2017-10-05 18:39:34 -07:00
voussoir a0f68fa858 Add .opus to the extended mimetypes. 2017-10-04 16:54:28 -07:00
voussoir 121f8329fb improve normalize_authors text 2017-09-29 14:32:35 -07:00
voussoir ad00854a18 Update readme with thoughts about permissions 2017-09-29 14:28:16 -07:00
voussoir 0849796986 Make `build_query` params all optional, more kwargy. 2017-09-23 11:22:05 -07:00
voussoir 855e94ed87 Make `wheres` a set instead of list. 2017-09-23 11:20:38 -07:00
voussoir 163e960bfa Fix unrecognized orderby not using the warning bag. 2017-09-23 11:08:19 -07:00
voussoir 557f78eb02 Integrate author search into the query instead of postprocessing.
Much faster this way.
2017-09-23 11:04:26 -07:00
voussoir 38e72c0c3a Make `notnulls` set instead of list. 2017-09-23 11:00:37 -07:00
voussoir 26a034c9a0 Make `Photo.author` a @property; None if no author. 2017-09-23 10:58:04 -07:00
voussoir 4836efcf23 HTTP redirect /tag/synonym to /tag/master. 2017-09-18 14:16:33 -07:00
voussoir f4ee7ddd9e Include werkzeug Response type in typecheck. 2017-09-18 14:10:25 -07:00
voussoir e592b55fb1 Use CSS Grid for the header container.
The elements still use flex for spacing simplicity.
2017-08-01 18:37:25 -07:00
voussoir f9524a1858 Switch to CSS Grid for the photo cards. 2017-08-01 18:25:28 -07:00
voussoir 89d9c1d893 Move the new photo creation out of the exception handler.
I don't like the "during the handling of the above exception" because
it's misleading as to the source of the problem.
2017-08-01 18:13:54 -07:00
voussoir a026a7488e Update the to do list. 2017-07-29 16:23:24 -07:00
voussoir bd847159fa Organize config by nesting related stuff.
I thought about switching to .ini files but that's even less desirable.
2017-07-29 16:23:15 -07:00
voussoir c3c86de7f8 Only navigate to the album on 200. 2017-07-29 15:40:40 -07:00
voussoir 4fc203634c Add new config "enable_login". 2017-07-20 23:25:23 -07:00
voussoir 797b3376a7 Add meta viewport to all pages. 2017-07-20 23:10:48 -07:00
voussoir 0ce07b0c7b Use over-under style for #right on narrow displays. 2017-07-20 23:08:58 -07:00
voussoir 463b627920 Put login / register boxes vertical when narrow. 2017-07-20 23:02:09 -07:00
voussoir f14d5fa312 Hide the description when the user saves it empty. 2017-07-16 18:23:56 -07:00
voussoir 6986d56b71 Fix CSS so #left and #right don't overlap.
So that the elements in left don't go underneath right.
2017-07-16 18:20:30 -07:00
voussoir 2c5617207a Add name and description editor. 2017-07-16 17:29:14 -07:00
voussoir 9f45f0851a Allow renaming the tag via /tag/x/edit. 2017-07-16 17:28:44 -07:00
voussoir 23349e7823 Use <pre> instead of <p> so \n is kept. 2017-07-16 17:28:06 -07:00
voussoir a1178ca3a5 Focus the title editor on open. 2017-07-16 17:26:34 -07:00
voussoir 05d84c733c Add <pre> to the types that get textarea inste of input. 2017-07-16 17:21:37 -07:00
voussoir a70c1dca7c Update Readme: Stability and Contributing and to-do. 2017-07-13 23:53:42 -07:00
voussoir 61ab1fb452 Use the provided display_element_map instead of the global vars. 2017-07-13 23:32:14 -07:00
voussoir 8bf33f7ac6 Nevermind, the span wasn't useless.
The h2 needs to hold the title input so it stays block-level.
2017-07-13 23:28:51 -07:00
voussoir ee555f5f41 Also provide a display_element_map in addition to edit_element_map. 2017-07-13 23:17:47 -07:00
voussoir 0e17350d84 Add Editor elements for bookmarks. 2017-07-13 23:13:34 -07:00
voussoir 1f9dd35e89 Add data-editor-empty-text attribute.
When the display element specifies this attribute, it will be used when
the user leaves that field empty.
2017-07-13 23:07:44 -07:00
voussoir 22c0163f5b Add /bookmark/id/edit and /bookmark/id.json endpoints. 2017-07-13 23:02:57 -07:00
voussoir 1784e584e2 Don't let Bookmark.edit with a blank url. 2017-07-13 22:58:02 -07:00