Commit Graph

349 Commits (7503b41c3b6e75f446bce2991b3a054f422665ed)

Author SHA1 Message Date
voussoir 3a455d377b Rewrite channel.html as tabbed container, separate videos/settings. 2020-09-03 11:54:51 -07:00
voussoir f103447807 Add css/js class tabbed_container. 2020-09-03 11:54:00 -07:00
voussoir b8c25f217d Synchronize Etiquette common.css and YCDL common.css. 2020-09-03 11:52:51 -07:00
voussoir d4cad47b78 Add docstring to init_enable_on_pageload. 2020-09-03 11:51:30 -07:00
voussoir 8dd7fb987d Add placeholder text to new_channel_textbox. 2020-09-03 11:44:49 -07:00
voussoir c37cd60d4d Compress responses with gzip. 2020-08-28 16:43:02 -07:00
voussoir 394fc0852a Improve readme text. 2020-08-28 16:41:14 -07:00
voussoir 65e0d58576 Disable filter textbox until pageload.
For channels with many thousands of videos, it can be a while
before the DOM is fully parsed and ready to go. It is annoying
to type in the box and find that it doesn't work yet, since the
script tag comes after body.
Why not move the script above body? Because I don't want to,
and because you'd be filtering from an incomplete list of
videos anyway.
2020-08-28 16:21:42 -07:00
voussoir 25e9975926 Add css/js class enable_on_pageload. 2020-08-28 16:18:51 -07:00
voussoir 25a611e39e Add 200ms timeout before filtering while you type your query. 2020-08-27 17:11:52 -07:00
voussoir 7b197c867b Speed up filtering by hiding #video_cards first.
On large channels, filter_video_cards is painfully slow because of all
the forced reflows. I'm currently trying to find a better solution.
In the meantime, hiding the containing div does prevent those reflows
until the end, but itself is also quite slow.
2020-08-27 16:53:51 -07:00
voussoir 412d324352 Remove unused parameter event. 2020-08-20 15:09:37 -07:00
voussoir e083223cfc Add button_with_spinner class to add channel button. 2020-08-20 15:09:23 -07:00
voussoir 1eb9941e27 Fix call to get_video should have been get_videos. 2020-08-20 13:17:07 -07:00
voussoir 720db06d4c Set cache_discovery=False to get rid of that console warning. 2020-08-20 13:16:55 -07:00
voussoir 17cd98fa50 Let image thumbnails lazy load. 2020-08-15 22:28:53 -07:00
voussoir de5aba4895 Remove unnecessary spacer when channel is none. 2020-08-15 22:28:27 -07:00
voussoir 5610d756c2 Fix video_cards variable name being used twice, breaking filter. 2020-08-15 22:27:47 -07:00
voussoir a99348e54c Remove "to do: delete channel from web interface".
Because that exists now.
2020-08-12 12:36:16 -07:00
voussoir 8eaae26e55 Add experimental RSS-based refresh_all_channels. 2020-08-12 12:32:01 -07:00
voussoir 6bd4997f3f Simplify logging.getLogger because they are hierarchical. 2020-08-12 11:25:59 -07:00
voussoir 2da4568fb5 Create separate get_video/get_videos, plural looks better.
Not a big difference, but I didn't like the way
calling get_video([...]) looked.
2020-08-12 11:20:43 -07:00
voussoir 299ea6b579 Simplify this useless two-step assignment. 2020-08-12 11:17:30 -07:00
voussoir 3f3eda58b1 Move logging basicconfig effort to frontmost application layer. 2020-08-12 11:17:10 -07:00
voussoir ee89582a1b Return 404 when channel could not be added and still does not exist. 2020-08-12 10:28:06 -07:00
voussoir 7a7b1455ef Fix queuefile extension selection when NoSuchChannel. 2020-08-12 10:26:57 -07:00
voussoir 5f38dea3b3 Rename argparse arguments to just --from, --to. 2020-08-12 10:25:09 -07:00
voussoir 323b2ead54 Use isodate instead of strptime to parse published date. 2020-08-11 23:20:26 -07:00
voussoir dfa5bb2390 Move some heavy lifting into new ingest_video. 2020-08-11 23:19:14 -07:00
voussoir ce028e4ebb Rearrange some lines for clarity, comment on known_ids. 2020-08-11 23:14:34 -07:00
voussoir b1e35f6604 Rewrite chunk_sequence to work with generators.
At the cost of always returning lists instead of the input's type,
which was never relevant anyway.
2020-08-11 23:12:22 -07:00
voussoir be45de55f5 Use generator comprehension instead of list comprehension for ?q. 2020-08-11 21:50:38 -07:00
voussoir e90254cfeb Copy some common css from Etiquette. 2020-08-10 20:55:23 -07:00
voussoir 0bbab4ae2c Lowercase the t in tube as I usually do. 2020-08-10 20:48:49 -07:00
voussoir b660d700b9 Add endpoint and gui button for deleting channels. 2020-08-10 18:30:56 -07:00
voussoir e42e4cac55 Add #toolbox_left and #toolbox_right where I can put more buttons. 2020-08-10 18:29:50 -07:00
voussoir 59eab3f997 Rename directory -> download_directory; add queuefile_extension. 2020-08-10 05:46:18 -07:00
voussoir 213278edcc Capitalize state filter links, remove commas from sorter links.
To make these two rows look similar. Rather than lowercasing the
sorters, let's capitalize the state filters. And rather than adding
a ','.join to the state filters, let's just remove commas from the
sorters. Good enough.
2020-08-09 17:54:38 -07:00
voussoir c13f02006b Let button_with_confirm inherit original CSS when not specified. 2020-08-08 18:59:17 -07:00
voussoir 1eafdf5e5b Add skewer-case aliases for snake_case arguments. 2020-08-08 18:58:39 -07:00
voussoir d137f9a889 Don't use executescript, add explicit begins.
Today I discovered that the sqlite3 library executescript function
automatically, non-optionally performs a commit before running
the input script. I want to control transactions manually so the
database doesn't get left in a broken state.
2020-08-08 18:56:11 -07:00
voussoir 0cf422977b If upload_playlist is not set during refresh, try to get it.
This is possible if a channel is temporarily suspended during the
time you tried to fetch the playlist id originally.
2020-07-26 18:47:34 -07:00
voussoir 41c6a344fa Catch ChannelNotFound exception while updating db. 2020-07-20 19:04:27 -07:00
voussoir 795aacb044 Add ChannelNotFound exception. 2020-07-20 19:03:53 -07:00
voussoir ff0d01fdda Add more to docstring about spinner delay attribute. 2020-07-10 16:34:32 -07:00
voussoir 4911cee910 Use generators instead of lists for loading / searching videos.
Previously, creating the list meant that all database rows would be
loaded and objected even if you had a limit in place on your page
query, which was a huge waste.
2020-07-01 17:54:36 -07:00
voussoir de5992c906 Alphabetize methods. 2020-07-01 16:10:48 -07:00
voussoir 4fe4ed9cb5 Database version 5. Store uploads_playlist id in database.
I am trying to cut down the API cost of refreshing all channels.
I hoped to find and endpoint that would give me videos from
multiple playlists at once, but Youtube doesn't seem to support
that. Next best option is to at least store the ID of the uploads
playlist, saving 2 api points each.
2020-07-01 16:09:11 -07:00
voussoir 3c432c51f0 Add database user_version check to merge_db. 2020-07-01 16:00:09 -07:00
voussoir 5d000f87c3 Fix DatabaseOutOfDate exception using wrong variable names. 2020-07-01 15:59:49 -07:00