57 Commits

Author SHA1 Message Date
James Taylor
c56fc56fa6 Subscriptions: Cleaner error message when checking terminated channels
Don't display a nasty traceback in that case.
2019-12-22 19:00:44 -08:00
James Taylor
250723b797 Subscriptions: Make uploader name clickable, with link to channel 2019-12-22 18:51:21 -08:00
James Taylor
b4406df9cf Merge branch 'modular-data-extract'
Commits in this branch are prefixed with "Extraction:"
This branch refactors data extraction. All such functionality has been moved to the yt_data_extract module.
Responses from requests are given to the module and it parses them into a consistent, more useful format.
The dependency on youtube-dl has also been dropped and this functionality has been built from scratch for these reasons:
(1) I've noticed youtube-dl breaks more often than invidious (which uses watch page extraction built from scratch) in response to changes from Youtube, so I'm hoping what I wrote will also be less brittle.
(2) Such breakage is inconvenient because I have to manually merge the fixes since I had to make changes to youtube-dl to make it do things such as extracting related videos.
(3) I have no control over error handling and request pooling with youtube-dl, since it does all the requests (these would require intrusive changes I don't want to maintain).
(4) I will now be able to finally display the number of comments and whether comments are disabled without making additional requests.
2019-12-19 21:33:54 -08:00
James Taylor
d1d908d5b1 Extraction: Move html post processing stuff from yt_data_extract to util 2019-12-19 19:48:53 -08:00
James Taylor
98777ee825 Extraction: Rewrite item_extraction for better error handling and readability, rename extracted names for more consistency 2019-12-18 19:39:16 -08:00
James Taylor
dc6c370152 Extraction: refactor response extraction to work with both mobile & desktop respones, also improve errors 2019-09-19 11:06:34 -07:00
James Taylor
014da8d3ae Fix list of local playlists not being given on subscriptions page and local playlist page 2019-09-15 15:15:23 -07:00
James Taylor
216231f9a6 Extraction: Proper error handling for terminated or non-existant channels 2019-09-08 17:48:02 -07:00
James Taylor
bd343ed71f Extraction: Move channel extraction to yt_data_extract 2019-09-08 17:28:11 -07:00
James Taylor
f172b143d6 Subscriptions: order videos by date published when there's too many new videos from a channel 2019-09-07 20:02:45 -07:00
James Taylor
c393031ac5 Subscriptions: autocheck after subscribing to channel 2019-09-03 17:47:23 -07:00
James Taylor
0a590c3364 Subscriptions: Order videos by the time they were added to db 2019-09-03 16:45:19 -07:00
James Taylor
71632a23f5 Subscriptions: Add watched column in database for future feature 2019-08-17 13:54:54 -07:00
James Taylor
d80a8b1c3f Subscriptions: Hopefully fix autochecking being scheduled in the past 2019-08-17 13:52:32 -07:00
James Taylor
aa5b9efca1 Subscriptions: Don't show videos from muted channels 2019-08-17 12:54:03 -07:00
James Taylor
897755e836 Subscriptions: Add database version 2019-08-17 12:49:36 -07:00
James Taylor
056f6fd2b5 Subscriptions: check channel's atom feed to get exact time published 2019-08-17 00:50:58 -07:00
James Taylor
899b088cdc Subscriptions: show when video was published 2019-08-16 21:48:40 -07:00
James Taylor
046d7226ea Subscriptions: improve checking messages, say how many new vids from channel 2019-08-14 18:39:39 -07:00
James Taylor
e2c9081aee Subscriptions: double auto-check rate 2019-08-14 16:40:42 -07:00
James Taylor
31a04555ae Subscriptions auto-checking system 2019-08-14 00:12:24 -07:00
James Taylor
de33ee6bb8 When restricting subscriptions to a tag, make that tag unclickable and add link to unrestrict 2019-08-12 15:09:28 -07:00
James Taylor
dd4841901f Add pagination to subscriptions page 2019-08-12 01:14:11 -07:00
James Taylor
c55955f42d Set sqlite to respect foreign key constraints 2019-08-11 18:36:44 -07:00
James Taylor
b469536ce6 Ability to only show videos from channels with specific tag 2019-08-11 18:17:19 -07:00
James Taylor
d1ae8dc290 Subscriptions flask port: add missing html info (video url and info dict) 2019-08-11 17:44:11 -07:00
James Taylor
a12b73439a If thumbnail or thumbnail directory is deleted after having been downloaded, correctly detect it and redownload it 2019-08-11 17:37:42 -07:00
James Taylor
5a6c65774b Fix bug when thumbnail directory doesn't exist where first downloaded thumbnail is made a directory 2019-08-11 17:27:55 -07:00
James Taylor
42036f92d2 Delete thumbnails from channel when unsubscribing 2019-08-11 17:25:10 -07:00
James Taylor
525ec403c0 Download and save subscription thumbnails when requested by the browser, not preemptively 2019-08-11 17:09:38 -07:00
James Taylor
2617f87e17 Add subscribe button on channels 2019-08-10 18:12:02 -07:00
James Taylor
33bba9762c Convert subscription manager to flask framework 2019-08-10 17:05:14 -07:00
James Taylor
163814d35c Convert subscriptions page to flask framework 2019-08-10 00:09:03 -07:00
James Taylor
cc9283ad53 Fix checking specific channels 2019-06-11 01:50:01 -07:00
James Taylor
59fdbda886 Add channel muting 2019-06-11 01:47:06 -07:00
James Taylor
103b37030f Unsubscribe button on channels if already subscribed 2019-06-10 17:04:06 -07:00
James Taylor
e7989db931 Order channel names in a case-insensitive manner 2019-06-10 15:36:53 -07:00
James Taylor
8539b48c7b Retrieve 60 videos for subscriptions page instead of 30 2019-06-10 15:28:29 -07:00
James Taylor
9da073000a Use a single cursor for db operations when possible instead of reopening multiple times 2019-06-10 15:27:17 -07:00
James Taylor
d637f5b29c Group by tags feature and improve appearance of sub list items 2019-06-10 02:29:55 -07:00
James Taylor
f1cd3eb751 Support opml for subscriptions import 2019-06-09 20:23:59 -07:00
James Taylor
83f3dfaff5 simplify list_from_comma_separated_tags 2019-06-09 18:01:46 -07:00
James Taylor
27ee2990e9 Overhaul refresh system, make it asynchronous 2019-06-09 16:03:20 -07:00
James Taylor
f5c76462d7 Don't spam database with opening and closing when getting tags for many channels 2019-06-08 02:35:21 -07:00
James Taylor
c8be729e6b Reduce boilerplate in db functions with context managers 2019-06-08 02:32:13 -07:00
James Taylor
60fe4b2e75 Add subscription manager system 2019-06-07 21:35:00 -07:00
James Taylor
ae5fd9eb00 Make thumbnails work and other stuff 2019-06-05 00:41:15 -07:00
James Taylor
ccb795e31f Ensure videos in subscriptions from same channel in order 2019-06-03 03:20:44 -07:00
James Taylor
1807bfac49 Remove feed parsing for now since youtube doesn't honor If-Modified-Since header 2019-06-03 02:20:16 -07:00
James Taylor
af9c4e0554 Bring up to date with master 2019-06-02 02:25:39 -07:00