2a5983b124
Change #content_body width from 95% to 98%.
2020-09-03 12:06:35 -07:00
a524249ab4
Improve color of tab buttons active/inactive/hover.
2020-09-03 12:03:53 -07:00
3a455d377b
Rewrite channel.html as tabbed container, separate videos/settings.
2020-09-03 11:54:51 -07:00
f103447807
Add css/js class tabbed_container.
2020-09-03 11:54:00 -07:00
b8c25f217d
Synchronize Etiquette common.css and YCDL common.css.
2020-09-03 11:52:51 -07:00
d4cad47b78
Add docstring to init_enable_on_pageload.
2020-09-03 11:51:30 -07:00
8dd7fb987d
Add placeholder text to new_channel_textbox.
2020-09-03 11:44:49 -07:00
c37cd60d4d
Compress responses with gzip.
2020-08-28 16:43:02 -07:00
394fc0852a
Improve readme text.
2020-08-28 16:41:14 -07:00
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
25e9975926
Add css/js class enable_on_pageload.
2020-08-28 16:18:51 -07:00
25a611e39e
Add 200ms timeout before filtering while you type your query.
2020-08-27 17:11:52 -07:00
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
412d324352
Remove unused parameter event.
2020-08-20 15:09:37 -07:00
e083223cfc
Add button_with_spinner class to add channel button.
2020-08-20 15:09:23 -07:00
1eb9941e27
Fix call to get_video should have been get_videos.
2020-08-20 13:17:07 -07:00
720db06d4c
Set cache_discovery=False to get rid of that console warning.
2020-08-20 13:16:55 -07:00
17cd98fa50
Let image thumbnails lazy load.
2020-08-15 22:28:53 -07:00
de5aba4895
Remove unnecessary spacer when channel is none.
2020-08-15 22:28:27 -07:00
5610d756c2
Fix video_cards variable name being used twice, breaking filter.
2020-08-15 22:27:47 -07:00
a99348e54c
Remove "to do: delete channel from web interface".
...
Because that exists now.
2020-08-12 12:36:16 -07:00
8eaae26e55
Add experimental RSS-based refresh_all_channels.
2020-08-12 12:32:01 -07:00
6bd4997f3f
Simplify logging.getLogger because they are hierarchical.
2020-08-12 11:25:59 -07:00
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
299ea6b579
Simplify this useless two-step assignment.
2020-08-12 11:17:30 -07:00
3f3eda58b1
Move logging basicconfig effort to frontmost application layer.
2020-08-12 11:17:10 -07:00
ee89582a1b
Return 404 when channel could not be added and still does not exist.
2020-08-12 10:28:06 -07:00
7a7b1455ef
Fix queuefile extension selection when NoSuchChannel.
2020-08-12 10:26:57 -07:00
5f38dea3b3
Rename argparse arguments to just --from, --to.
2020-08-12 10:25:09 -07:00
323b2ead54
Use isodate instead of strptime to parse published date.
2020-08-11 23:20:26 -07:00
dfa5bb2390
Move some heavy lifting into new ingest_video.
2020-08-11 23:19:14 -07:00
ce028e4ebb
Rearrange some lines for clarity, comment on known_ids.
2020-08-11 23:14:34 -07:00
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
be45de55f5
Use generator comprehension instead of list comprehension for ?q.
2020-08-11 21:50:38 -07:00
e90254cfeb
Copy some common css from Etiquette.
2020-08-10 20:55:23 -07:00
0bbab4ae2c
Lowercase the t in tube as I usually do.
2020-08-10 20:48:49 -07:00
b660d700b9
Add endpoint and gui button for deleting channels.
2020-08-10 18:30:56 -07:00
e42e4cac55
Add #toolbox_left and #toolbox_right where I can put more buttons.
2020-08-10 18:29:50 -07:00
59eab3f997
Rename directory -> download_directory; add queuefile_extension.
2020-08-10 05:46:18 -07:00
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
c13f02006b
Let button_with_confirm inherit original CSS when not specified.
2020-08-08 18:59:17 -07:00
1eafdf5e5b
Add skewer-case aliases for snake_case arguments.
2020-08-08 18:58:39 -07:00
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
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
41c6a344fa
Catch ChannelNotFound exception while updating db.
2020-07-20 19:04:27 -07:00
795aacb044
Add ChannelNotFound exception.
2020-07-20 19:03:53 -07:00
ff0d01fdda
Add more to docstring about spinner delay attribute.
2020-07-10 16:34:32 -07:00
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
de5992c906
Alphabetize methods.
2020-07-01 16:10:48 -07:00
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