Commit graph

1209 commits

Author SHA1 Message Date
d9f5765bcc Use more self.sql_ instead of own cursors. 2018-03-29 19:24:48 -07:00
144e97d365 Use self.photodb.sql_ methods instead of running own cursors.
All in the name of centralization.
Also improved SQLness of Tag.convert_to_synonym.
2018-03-29 19:24:48 -07:00
2edb9a1d57 Centralize cursors to PDB.sql_execute.
This gives me a nice common place to do logging if I want.
2018-03-29 19:24:39 -07:00
cca8837863 Move helpers.select_generator to PDB.sql_select. 2018-03-25 16:32:17 -07:00
cfa5d269d1 Add keybinds CTRL+A and +D to select/deselect all cards. 2018-03-23 11:58:39 -07:00
27885df64e Fix binding of the fallback handler. 2018-03-23 10:25:03 -07:00
da47b5bb3c Fix several small, embarassing typos. 2018-03-23 01:18:43 -07:00
abaeb2321f Oops, should be .remove instead of .pop for the cacheclass. 2018-03-23 00:35:56 -07:00
77dfeb4299 Add more _assert methods to hide clutter. 2018-03-23 00:35:56 -07:00
229530580f Add Tag.normalize_description. 2018-03-23 00:35:56 -07:00
b4d3de3651 Add Bookmark.normalize_title and _url. 2018-03-23 00:35:56 -07:00
6ee86431e5 Add Album.normalize_title and _description. 2018-03-23 00:35:55 -07:00
dddd8a3aa1 Add ObjectBase.normalize_author_id. 2018-03-23 00:35:47 -07:00
1f7749b80a PDB.new_album call album.add_photos instead of add_photo. 2018-03-22 23:11:25 -07:00
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
088a79ffff Add method PDB.get_users. 2018-03-22 21:06:05 -07:00
5c89e13129 Update DatabaseOutOfDate message to use new upgrader path. 2018-03-22 17:34:43 -07:00
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
db827d17ec Add to do regarding extension not being updated by override. 2018-03-21 19:20:06 -07:00
1e42f1ea4e DB V12: Add (photoid, tagid) index to photo_tag_rel. 2018-03-21 19:00:13 -07:00
acc9b67a20 Add parameter minimal to jsonify.tag. 2018-03-21 18:48:38 -07:00
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
afc5f38a8d Combine normalize_limit, _offset to normalize_positive_integer. 2018-03-21 11:25:21 -07:00
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
7b4ae3045a Remove some excessive newlines from photo_card output. 2018-03-19 22:52:15 -07:00
efd8e28c01 Remove Album improvements from readme.
I forgot to do this during 30d8d08.
2018-03-19 15:17:19 -07:00
b4cd4b6130 Fix body not filling vertical space. 2018-03-19 15:06:07 -07:00
45bd80caa4 Remove height:40px from plain_link. Only nice_link. 2018-03-19 15:03:53 -07:00
b90971813f Oops, fix broken click-to-join because of the qualname change. 2018-03-19 14:11:25 -07:00
fba75c0325 Add some contact info to contributing.md. 2018-03-19 04:03:45 -07:00
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
b247ba3d63 Bump voussoirkit requirement to 0.0.23 for cacheclass.__contains__. 2018-03-18 21:00:58 -07:00
9a1caee412 Add helper function hash_file. 2018-03-18 20:56:29 -07:00
2d73e59abf Let helpers.read_filebytes operate on pathclass Paths. 2018-03-18 20:56:08 -07:00
a5aef63c6f Tags on this page should also display qualnames with maxlen. 2018-03-18 19:47:08 -07:00
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
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
84599b44f7 Store author for bookmark creation. 2018-03-18 15:59:58 -07:00
84e0266f30 Add author to object jsonifiers. 2018-03-18 15:59:36 -07:00
60049c777f Add method get_author to all objects. 2018-03-18 15:58:51 -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
cc98cf5407 Create subdirs for utilities. 2018-03-18 00:26:57 -07:00
d6d28764c4 Oops, assign self.config before dumping it. 2018-03-18 00:23:05 -07:00
0c7d35435e Consider env vars for ffmpeg path. 2018-03-18 00:21:33 -07:00
6add02c8a2 Move column extractor to own function. 2018-03-18 00:21:03 -07:00
4a39b527f3 Use dot_extension on the photo cards. 2018-03-18 00:19:30 -07:00
d383000441 Add Foreign Keys, Primary Keys, and NOT NULL constraints. 2018-03-18 00:09:08 -07:00
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