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
voussoir
94e518068f
Add Album.add_photos for batch adding with less savepoint waste.
...
Because each call to add_photo opens a savepoint, it is wasteful
to use it for a large number of photos that belong together.
2018-03-10 22:50:41 -08:00