Commit Graph

980 Commits (50ecc4c1c12d87cfe8aece8cd6054f8d1cb1b66e)

Author SHA1 Message Date
voussoir d6ca8206b4 Synchronize Etiquette common.js and YCDL common.js. 2020-06-17 13:38:20 -07:00
voussoir e1033d0138 Move tagname related functions from common.js to tag_autocomplete.js. 2020-06-17 12:42:08 -07:00
voussoir fdfc7308b0 Move all spinner related functions from common.js to spinner.js. 2020-06-17 12:41:13 -07:00
voussoir 91ac2315e6 Put meta before data in the json responses. 2020-06-17 12:37:22 -07:00
voussoir 136a47bf10 Add support for spinner groups, all buttons spin when one clicked. 2020-06-11 18:20:20 -07:00
voussoir 634f6f5188 Fix metadata spinner not closing when 0 items on clipboard. 2020-05-28 19:02:07 -07:00
voussoir 2f5510fd0c Rename variable spinner_button_count -> spinner_button_index. 2020-05-28 19:01:42 -07:00
voussoir 88a6708061 Replace werkzeug.contrib with werkzeug.middleware proxyfix.
werkzeug.contrib has been deprecated, this is the new location
of the proxyfix.
2020-05-17 16:33:40 -07:00
voussoir 363d0bac67 Move THING_CLASSES and thing-related methods to new mixin.
I realized there's no need to have that on the global scope when
it is only used for the thing-methods.
2020-04-15 16:33:16 -07:00
voussoir 5dffe52830 Start _cached_sql_tables as None, and in the SQL mixin. 2020-04-15 16:31:47 -07:00
voussoir 35895856e6 Use .clear() instead of reassigning to empty lists.
I cannot remember if there is a reason I chose to use empty lists.
If there is, I'll rediscover it and write a comment. Until then, it
makes sense to use clear as an explicit clearing of the list.
2020-04-15 16:31:09 -07:00
voussoir 43a665fd91 Replace more %s with fstrings. 2020-04-15 16:29:56 -07:00
voussoir d7dc179ac5 Delete styleguide file. 2020-04-15 16:24:51 -07:00
voussoir 930960e22a Move this config prep code into voussoirkit as configlayers. 2020-04-03 17:09:01 -07:00
voussoir 9c96522cfc Remove thing_map table, just use thing_map class.table. 2020-04-03 15:20:09 -07:00
voussoir 545ea62818 Add some docstrings and comments near get_cached_instance. 2020-04-03 12:33:19 -07:00
voussoir 18c2f0dc78 Rename vars photos -> results since results may contain albums. 2020-04-02 23:27:47 -07:00
voussoir 0e0f296270 Let tags on this page buttons execute search immediately.
1. When the list is long, scrolling back up to hit to search
button is annoying.
2. If you select too many, there's no way to know if you're
going to wind up constructing a search with 0 results thus
wasting your time.
2020-04-02 22:52:33 -07:00
voussoir db43cac583 Fix broken tagsonthispage buttons, need to pass ul not input. 2020-04-02 22:49:33 -07:00
voussoir 5a16579fe3 Add a 'type' string to all etiquette jsonify outputs. 2020-04-02 22:43:20 -07:00
voussoir dd3d40de53 Experimental: Allow search results to include albums.
I've been thinking about this for a while but couldn't think of
the perfect way to implement it. I still haven't, so instead I'm
just starting with something and we'll see how to improve later.
At any rate, I can update the rest of the system to expect Albums
coming out of search so that if I ever have a better algorithm
everything else will already be ready for it.
For this first experiment, just any photos that are part of an album
will send that album out as a result. It doesn't even respect the
limit parameter, it's really just to see how it feels to use.
2020-04-02 22:36:40 -07:00
voussoir 83c2ed7882 Redesign album grid cards to look more like photo cards.
Unfortunately these cards are taller rather than wider so the
already-neglected unlink buttom becomes even more horizontally crammed.
That's going to need a big fixup anyway.
2020-04-02 22:28:36 -07:00
voussoir 5a394c4376 Use len(photos) >= limit instead of ==. 2020-04-02 22:21:54 -07:00
voussoir e5f2b788fe Replace bottom & right margin with all-round 8px.
The two-sided margin was meant to create a particular spacing on the
albums page, but the purpose of cards is I should be able to use
them in many other contexts. So an all-round margin is easier to
work with when displaying cards anywhere else.
2020-04-02 21:59:22 -07:00
voussoir e94e35c98c Add option to natural_sort filenames before digesting. 2020-04-02 21:57:54 -07:00
voussoir 374763f990 Reduce log level of savepoints to 5.
So far I am satisfied with how they are working, and they clutter
the output so much I can't read anything else.
For reference, logging.DEBUG is 10.
2020-04-02 21:56:41 -07:00
voussoir 32a161baa8 Fix prev_page_url offset when on page 2 going back to page 1. 2020-04-02 21:37:50 -07:00
voussoir 89c308c4a4 When submitting search, check for values left in the tag boxes.
I found pretty commonly that it was easy to leave some text in the
box and forget to press enter, so that tag never got added to the
actual search.
2020-04-02 17:11:29 -07:00
voussoir 7fc4604025 Simplify this already_have now that the other code is gone. 2020-04-02 17:09:09 -07:00
voussoir 84833832e4 Improve this comment and some whitespace. 2020-04-02 17:06:50 -07:00
voussoir f8bd34eb7a Let add_searchtag and remove_searchtag take the ul instead of box.
With a name like add_searchtag you'd think it'd be past the point
of reading box input, and deeper into the abstraction zone. But nope,
it wasn't. I'll try to take this a few steps further from here too.
2020-04-02 17:04:23 -07:00
voussoir 3cb8f0adcf Remove code intended for tag trumping but currently useless.
I think at one point I was using full qualnames on the tag objects
in the mmf uls. But now they just show their base name, so this
code is useless. And I don't think I'll reinstate it because tags
have multiple parents now and I don't want to implement all the
lineage checking in the client js. We'll just let the server handle
the slightly less efficient query.
2020-04-02 16:56:44 -07:00
voussoir 00ad82e07c Dedent this code by doing an early return instead of if. 2020-04-02 16:25:19 -07:00
voussoir faf0c62426 Check if limit is falsey to avoid useless prevnext buttons.
If limit is 0 then you get prev and next links which also have
limit 0 and are pointless to click.
2020-03-28 17:38:10 -07:00
voussoir a00fb65758 Don't leave falsey values out of dict_to_params, let caller do it.
Explicit is better than implicit and all that.
2020-03-28 17:37:28 -07:00
voussoir 0fdf08adf5 Fix bug where searching musts=[A, A.B] ignored B.
The problem was that during the expansion of A, B would get added to
the `total` set. And then because B was already in total, it would
bail early instead of expanding, but that meant it got left out of
the final query. But this only happened sometimes since random set
ordering would sometimes expand B before A and everything was ok.
I think the best solution is to do this first pass that eliminates
ancestors. Furthermore, I realized that the entirety of expand_nested
hinged on this flawed logic and was otherwise completely redundant
for a simple list comprehension.
2020-03-19 19:04:09 -07:00
voussoir 13c3a1c0e9 Update docstrings for walk_children, walk_parents. 2020-03-19 19:03:47 -07:00
voussoir 0a8a754cbc Replace set([]) with {}. 2020-03-19 17:40:52 -07:00
voussoir a30649b0a8 Replace looping set.add with set.update. 2020-03-19 17:38:51 -07:00
voussoir e35efb5c61 Make this string an r-string so it gets better syntax highlighting. 2020-03-11 18:11:54 -07:00
voussoir 6529aedde6 Add docstring to PDB.__init__. 2020-03-06 09:43:16 -08:00
voussoir 9ac91d3850 Add tag delete button to specific tag page.
On the main tag listing, for child tags, you only get an unlink
button on hover. So if you want to delete a child tag you'd have to
unlink, then refresh, then delete. Now you can just go to its page
and delete it there.
2020-02-27 14:57:27 -08:00
voussoir 3f2cde02e1 Use send2trash to support recycle_instead_of_delete. 2020-02-27 14:18:46 -08:00
voussoir 961ece0081 digest_directory excludes extend defaults instead of overriding them.
With this change, there is currently no way to specify that I actually
want to include thumbs.db etc, but I think the likelikhood of wanting
to extend the defaults greatly exceeds wanting to overrid them.
2020-02-27 14:17:30 -08:00
voussoir 30a0715980 Add photo delete buttons to hovering toolbox.
I tried putting them in the #left but it was looking seriously ugly.
Actually #left is always ugly because the variety of info and buttons
and text alignments. Hover toolbox is not ideal and I don't want it
to become a dumping ground, but deleting should be a rare action and I
don't want it right next to stuff like the basic metadata.
2020-02-27 14:15:13 -08:00
voussoir 45cb96cc5c Add endpoint /photo/photo_id/delete. 2020-02-26 18:57:29 -08:00
voussoir a88fcc2092 Move the clipboard checkbox into metadata list too. 2020-02-26 18:41:17 -08:00
voussoir 66f73a6aab Move the photo filename out of list to top of left. 2020-02-26 18:40:03 -08:00
voussoir 596eb86f6e Move the refresh metadata button into metadata bullet list. 2020-02-26 18:39:19 -08:00
voussoir 02db1f3971 Make response_type required, explicit in all calls. 2020-02-26 17:50:36 -08:00