Commit Graph

445 Commits (0e3ae116107e4ec679316af38dda29ada41f9d16)

Author SHA1 Message Date
voussoir 0e3ae11610 Improve normalizers, use less None; Add author search box.
It was getting difficult to remember which of the normalizers
use None and which don't. So let's try to be a little more consistent
and just use empty sets, etc, so the caller can rely on receiving a
set instead of having to check for None.

Also renamed search parameter authors->author to be more in line
with the singular form of extension.
2018-03-22 21:09:21 -07:00
voussoir 088a79ffff Add method PDB.get_users. 2018-03-22 21:06:05 -07:00
voussoir 5c89e13129 Update DatabaseOutOfDate message to use new upgrader path. 2018-03-22 17:34:43 -07:00
voussoir 5be174d1b3 Completely rewrite search to use more SQL and less application.
In order to achieve tag_musts, we break each of the musts down
into separate EXISTS queries for each of the matchable children.
Then we INTERSECT those, and finally do other filtering and
ordering as usual.
2018-03-21 19:20:43 -07:00
voussoir db827d17ec Add to do regarding extension not being updated by override. 2018-03-21 19:20:06 -07:00
voussoir 1e42f1ea4e DB V12: Add (photoid, tagid) index to photo_tag_rel. 2018-03-21 19:00:13 -07:00
voussoir acc9b67a20 Add parameter minimal to jsonify.tag. 2018-03-21 18:48:38 -07:00
voussoir 6c77ddd1c3 searchhelpers.normalize_author use un only, not IDs.
I don't like the idea of a user setting their username to be
someone else's ID.
2018-03-21 13:21:25 -07:00
voussoir afc5f38a8d Combine normalize_limit, _offset to normalize_positive_integer. 2018-03-21 11:25:21 -07:00
voussoir 1d76b4511b Let PDB.get_tag convert normalization errors to NoSuch.
Instead of having to account for them on the other end,
since they don't care about that stuff anyway.
2018-03-21 11:03:58 -07:00
voussoir 7b4ae3045a Remove some excessive newlines from photo_card output. 2018-03-19 22:52:15 -07:00
voussoir efd8e28c01 Remove Album improvements from readme.
I forgot to do this during 30d8d08.
2018-03-19 15:17:19 -07:00
voussoir b4cd4b6130 Fix body not filling vertical space. 2018-03-19 15:06:07 -07:00
voussoir 45bd80caa4 Remove height:40px from plain_link. Only nice_link. 2018-03-19 15:03:53 -07:00
voussoir b90971813f Oops, fix broken click-to-join because of the qualname change. 2018-03-19 14:11:25 -07:00
voussoir fba75c0325 Add some contact info to contributing.md. 2018-03-19 04:03:45 -07:00
voussoir b5274fefb9 Add caching.py to enable browser caching of files. 2018-03-18 21:42:31 -07:00
voussoir ea7401b4f2 Fix common.send_file to use pathclass. 2018-03-18 21:40:32 -07:00
voussoir 0de755f138 Let the SessionManager use a cacheclass instead of plain dict. 2018-03-18 21:23:48 -07:00
voussoir b247ba3d63 Bump voussoirkit requirement to 0.0.23 for cacheclass.__contains__. 2018-03-18 21:00:58 -07:00
voussoir 9a1caee412 Add helper function hash_file. 2018-03-18 20:56:29 -07:00
voussoir 2d73e59abf Let helpers.read_filebytes operate on pathclass Paths. 2018-03-18 20:56:08 -07:00
voussoir a5aef63c6f Tags on this page should also display qualnames with maxlen. 2018-03-18 19:47:08 -07:00
voussoir a6babe116e Add some more notes about junctions.
Instead of, you know, actually writing the setup.py file.
2018-03-18 17:51:42 -07:00
voussoir e186653e36 Use shutil.which to discover ffmpeg.
How did I miss such an easy solution for so long??
So glad I did not go the env var route.
2018-03-18 17:03:11 -07:00
voussoir 84599b44f7 Store author for bookmark creation. 2018-03-18 15:59:58 -07:00
voussoir 84e0266f30 Add author to object jsonifiers. 2018-03-18 15:59:36 -07:00
voussoir 60049c777f Add method get_author to all objects. 2018-03-18 15:58:51 -07:00
voussoir 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
voussoir cc98cf5407 Create subdirs for utilities. 2018-03-18 00:26:57 -07:00
voussoir d6d28764c4 Oops, assign self.config before dumping it. 2018-03-18 00:23:05 -07:00
voussoir 0c7d35435e Consider env vars for ffmpeg path. 2018-03-18 00:21:33 -07:00
voussoir 6add02c8a2 Move column extractor to own function. 2018-03-18 00:21:03 -07:00
voussoir 4a39b527f3 Use dot_extension on the photo cards. 2018-03-18 00:19:30 -07:00
voussoir d383000441 Add Foreign Keys, Primary Keys, and NOT NULL constraints. 2018-03-18 00:09:08 -07:00
voussoir 33d506ddaf Rearrange tables in preparation for foreign keys.
In order to create a foreign key the table has to already exist.
So move the object types to the top, with Users first since other
things have authors.
2018-03-17 17:54:15 -07:00
voussoir c4d0de7f97 Move digest_directory and easybake to Util mixin. 2018-03-17 17:19:07 -07:00
voussoir 87886a0a13 Unprivatize PDB._load_config and _save_config. 2018-03-17 17:07:30 -07:00
voussoir 941d50eae0 Move config saving to own method. 2018-03-17 17:05:34 -07:00
voussoir 269cfb6762 Improve some variable names for clarity. 2018-03-17 16:48:09 -07:00
voussoir 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
voussoir f3eb6345f7 Let database_upgrader use the photodb instead of raw sql con. 2018-03-13 02:28:09 -07:00
voussoir 44d1fb2fff Add PhotoDB init option skip_version_check. 2018-03-13 02:25:04 -07:00
voussoir d85d911b22 Add PhotoDB init option `create`. Disable to require existing. 2018-03-13 02:24:11 -07:00
voussoir 101f6d9c47 Add exception BadDataDirectory. 2018-03-13 02:21:35 -07:00
voussoir b89da5dec2 Add hasattr checks to prevent faulty __del__. 2018-03-13 02:20:17 -07:00
voussoir 5b310e6d7c Require voussoirkit 0.0.22 for pathclass.Path.relative_to. 2018-03-13 01:48:06 -07:00
voussoir 1cd78a678b Minor linter appeasements. 2018-03-11 01:54:59 -08:00
voussoir c99e783d04 Rename comprehension variable to not look like a conflict.
The existing code worked fine, but it was odd to see that `tag`
was both the loop variable as well as the key into the children.
So let's change it.
2018-03-11 01:35:35 -08:00
voussoir a86c27ceb4 Simplify some unnecessarily detailed log formats. 2018-03-11 01:34:32 -08:00