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
voussoir
8fcaf15fbe
Remove the word "Album" from the h2. The number is okay.
...
I just decided I like this better.
2018-03-10 19:54:56 -08:00
voussoir
df86d0f128
Replace "you are here" with the album's name.
2018-03-10 19:54:22 -08:00
voussoir
45091c6596
Fix thumbnail height in CSS only, no html attr. Don't h-stretch.
2018-03-10 19:53:29 -08:00
voussoir
f5a126d3bc
Oops, fix missing return statement.
2018-03-10 15:42:23 -08:00
voussoir
42cef093a5
digest_directory: Use _normalize functions for argument prep.
...
This is a pattern I want to try out.
Not sure if it's ugly yet.
2018-03-10 15:32:31 -08:00
voussoir
633dbfa3cf
Fix typo, searchhelpers.py is a file.
2018-03-10 14:42:33 -08:00
voussoir
9355cd09ef
Add digest_directory parameter new_photo_ratelimit.
...
Initially inspired by the nuisance of having multiple photos
with the same timestamp because the system is too fast, this
feature could also be used to lessen disk load for running in
the background.
2018-03-10 14:18:28 -08:00
voussoir
f04e055ca3
On the tag page, put descr in a dark box like albums.
2018-03-10 13:40:02 -08:00
voussoir
6de0ad8e36
Oops, add this.open fallback to the open binder.
2018-03-10 13:28:13 -08:00
voussoir
c90585665a
Add md and rst as text/plain mimetypes.
2018-03-10 13:27:21 -08:00
voussoir
daf824caf5
Improve album page's use of data-editor-empty-text.
2018-03-10 13:24:23 -08:00
voussoir
494d44aa03
Improve editor.js comments and usage of `this`.
...
I realized what I was doing wrong with `this`, so now the function
binder is much cleaner.
2018-03-10 13:23:37 -08:00
voussoir
ae6df8f999
Remove searchhidden from to do list.
2018-03-09 17:52:52 -08:00
voussoir
f9bee5716c
Don't clear the clipboard after pasting into album.
...
Sometimes I want to do more operations.
2018-03-09 17:50:41 -08:00
voussoir
a1919a7725
Support giving title when creating albums. Two-step prompt.
2018-03-09 17:38:40 -08:00
voussoir
5f6d21fdee
Give Photos a `searchhidden` property.
...
By default, photos with searchhidden do not appear in the search
results. This allows a small number of representative images from
a large album to appear in the results, while the rest can be
found on the album's page.
The same effect could be achieved with a tag and forbid search,
but tag searching has much higher cost and it would be more difficult
to implement as a default behavior without requiring lots of special
checks whenever listing tags etc.
2018-03-09 17:10:27 -08:00
voussoir
d88db08693
Allow PDB.rollback to take a savepoint; Warn early commits.
...
If a @transaction method makes calls to other @transaction
methods, and one of those nested calls makes a commit, and then
the outer call raises an exception, then the outer call will
not rollback properly because its savepoint is no longer in
the savepoint stack. So let's warn the user if that happens.
Should this raise an exception instead of just warn? Not sure,
I mean the data is already committed.
2018-03-05 21:35:36 -08:00
voussoir
26141f8198
Put savepoints in the on_commit_queue so we can cancel on rb.
2018-03-02 20:30:55 -08:00