Commit graph

49 commits

Author SHA1 Message Date
4c65ccaf68 Big! Liberate Groupables from strict heirarchy. Multiple parents.
I found that the strict heirarchy was not satisfying the situation
where one tag is the intersection of two others, but we can only
pick one as the parent

For example, does red_jacket belong under clothes.red_clothes or
clothes.jackets? A search for "red_clothes AND jackets" might
give us someone wearing red pants and a black jacket, so this
definitely needs to be a separate tag, but picking only one
parent for it is not sufficient. Now, a search for red_clothes
and a search for jackets will both find our red_jacket photo.

The change also applies to Albums because why not, and I'm sure
a similar case can be made.

Unfortunately this means tags no longer have one true qualname.
The concept of qualnames has not been completely phased out but
it's in progress.

This commit is very big because I was not sure for a long time
whether to go through with it, and so much stuff had to change
that I don't want to go back and figure out what could be grouped
together.
2018-07-20 13:09:06 -07:00
6d349aa235 Update to do list with more batching ideas. 2018-05-01 18:06:27 -07:00
79465b803e Remove album size caching from to do list.
With the recent improvements in album size determination this
is not necessary.
2018-04-19 19:00:16 -07:00
4491fa3b5a Fix quotation mark in example set command. 2018-04-15 21:53:39 -07:00
baf53c4759 Update readme with more setup and launch info. 2018-04-15 21:34:05 -07:00
21bd211889 Give Users a display_name. 2018-04-15 14:23:24 -07:00
db827d17ec Add to do regarding extension not being updated by override. 2018-03-21 19:20:06 -07:00
efd8e28c01 Remove Album improvements from readme.
I forgot to do this during 30d8d08.
2018-03-19 15:17:19 -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
0c7d35435e Consider env vars for ffmpeg path. 2018-03-18 00:21:33 -07:00
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
ae6df8f999 Remove searchhidden from to do list. 2018-03-09 17:52:52 -08:00
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
3ff89c330f Remove obvious and unhelpful stuff from project structure. 2018-02-25 18:45:11 -08:00
c001b0fc87 Use SQL savepoints to improve @transaction.
I didn't know about these! Now we don't have to roll all the way
back in case of problems. This allows for raising exceptions as
control flow since they won't undo unrelated stuff.
2018-02-25 17:10:04 -08:00
9c6cae7177 Use event listeners instead of setting onkeyup manually. 2018-02-24 00:24:38 -08:00
5a1d259780 Add /clipboard UI for mass-tagging. 2018-02-22 15:23:57 -08:00
a9248d8cab Add CSS clipboard_size; and other clip hook improvements.
Any element with class clipboard_size will have its text updated;
Removed the call to on_pageload from save_ because it redundantly
causes a load. Separate those update hooks.
2018-02-20 20:20:20 -08:00
13e8bc4a6f Add more items to to-do list; minor fixes. 2018-02-20 16:50:39 -08:00
91d445a877 Add new page /clipboard, with full photo cards. 2018-02-17 19:12:34 -08:00
bf0ac1ebac Move etiquette_repl into a folder for consistency.
The items in the frontends folder should essentially be
black boxes with a launch file. Now the repl one looks the same
as the flask.
2018-02-16 22:31:10 -08:00
5e6f3d96b1 Remove localstorage from the todo list because that's done. 2018-01-13 20:06:53 -08:00
6f371701e4 Fix digest second-scan bug; Break down into smaller functions.
There was a bug where moving an album out of its determined parent
caused future digests to fail because I wanted to use the GroupExists
for control flow, but due to the @transaction decorator it was rolling
back the changes.
Moved some of the logical pieces of the function into subfunctions
as a visual and readability aid.
2018-01-09 18:59:15 -08:00
67c2dadffa Expand the project structure diagram on the readme. 2017-12-16 04:08:15 -08:00
443d93ce18 Add the clipboard tray where users manage their photo clipboard.
Appearing on search and album pages, the tray is where you can
remove items from your clipboard without having to click on its
checkbox -- that photo card may not even be on the current page.
2017-12-16 03:47:54 -08:00
d7d1e155c1 Add some tasks to the to do list. 2017-11-27 15:24:55 -08:00
74f4e74bdf Add a few docstrings and update readme to-do list. 2017-11-16 16:46:39 -08:00
e1a904da6f Update readme with project structure diagram. 2017-11-12 01:14:16 -08:00
ad00854a18 Update readme with thoughts about permissions 2017-09-29 14:28:16 -07:00
a026a7488e Update the to do list. 2017-07-29 16:23:24 -07:00
a70c1dca7c Update Readme: Stability and Contributing and to-do. 2017-07-13 23:53:42 -07:00
533970f248 Add more stuff to the to-do list. 2017-07-09 15:48:47 -07:00
57355cb032 Add /userid/id redirect to /user/name 2017-06-19 17:03:07 -07:00
821a5f3371 Move export functions to their own module. 2017-06-11 22:55:45 -07:00
4f03815a30 Floating point hⓂ️s, and update to-do. 2017-06-11 21:09:17 -07:00
4928095abb Minor commentary and cleanup 2017-05-13 15:27:08 -07:00
f8a78c6ee7 Minor cosmetics 2017-05-06 17:04:42 -07:00
d95eac4bb6 Minor improvements, update to-do list. 2017-04-20 18:31:48 -07:00
467d5a2626 Add basic project description to readme 2017-03-17 15:24:59 -07:00
e610eafb21 Add demo link to readme 2017-03-17 14:03:15 -07:00
f0447b9318 Update to-do list on readme 2017-03-17 00:26:55 -07:00
c6615284e0 Improve Photo Card CSS: Filename hover and metadata font 2017-02-27 23:05:43 -08:00
c80e2003ff checkpoint
add photo and search css for narrow screens; incorporate new expressionmatch kit; entry_with_history cursor moves to end; albums indicate total filesize; etc
2017-02-24 22:07:59 -08:00
91fcbb7101 Create objects.py
Move Album, Photo, Tag, User to objects.py; Move SQL_COLUMNS variables to constants.py so they can be shared; Move more shared helpers to helpers.py
2016-12-16 20:02:08 -08:00
a1894edcca Create json-based config system, move out of constants.py
datadir\config.json will be created automatically with the default values.
2016-12-16 18:53:12 -08:00
a47cdaaf04 misc cleanup 2016-12-16 17:59:43 -08:00
1c7b736b1a Add early support for user accounts 2016-12-16 15:45:46 -08:00
1ecd1f979e create exceptions.py and move more constants 2016-12-12 19:49:36 -08:00