James Taylor
c3321d31d0
Subscriptions: Display selected tag above videos.
...
Otherwise, it wasn't clear enough that a tag was selected.
2019-12-20 12:44:42 -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
6b7a1212e3
Extraction: Move non-stateful signature decryption functionality into yt_data_extract
2019-12-19 21:28:21 -08:00
James Taylor
4a3529df95
Extraction: Move stuff around in files and put underscores in front of internal helper function names
...
Move get_captions_url in watch_extraction to bottom next to other exported, public functions
2019-12-19 20:12:37 -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
76376b29a0
Extraction: Split yt_data_extract.py into multiple files
2019-12-19 19:29:47 -08:00
James Taylor
beb0976b5b
Extraction: Rewrite comment extraction, remove author_id and rename author_channel_id to that, fix bug in extract_items
...
author_id (an internal sql-like integer previously required for deleting and editing comments) has been removed by Youtube and is no longer required.
Remove it for simplicity.
Rename author_channel_id to author_id for consistency with other extraction attributes.
extract_items returned None for items instead of [] for empty continuation responses. Fixes that.
2019-12-19 15:50:19 -08:00
James Taylor
02848a1a32
Extraction: Adjust related videos box to fit new time_published information well
...
time_published will be put to the right of the view_count in related videos
Author will now always be above the other stats, since it doesn't make a difference in the big search result boxes since the description snippet is always very short
(However, it's important the author isn't inline with the other stats in related video boxes since those are so narrow and the author name can be very long)
2019-12-19 15:46:16 -08:00
James Taylor
004e14a538
Extraction: Use accessibility data to get timestamp and to get views for recommended videos
2019-12-18 20:53:11 -08:00
James Taylor
f6bf5213a5
Extraction: rename multi_get functions to more descriptive names
2019-12-18 19:43:55 -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
ee0a118a6c
Extraction: Fix thumbnail and remove badges on related videos
2019-12-17 21:52:31 -08:00
James Taylor
e98a1965d2
Extraction: Fix mistake with age-restriction detection
2019-12-17 21:06:06 -08:00
James Taylor
45a4ab5ace
Extraction: Detect limited state and fix false detection as unlisted
2019-12-17 20:58:15 -08:00
James Taylor
81c7ecf161
Extraction: Make limited state videos work
2019-12-17 20:39:20 -08:00
James Taylor
40de1b74ed
Extraction: Extract info from microformat to get views for limited state videos, and as a fallback. Shorten some function names
2019-12-17 16:02:23 -08:00
James Taylor
e870eea057
Extraction: Add fallback playability error extraction from renderers
2019-12-14 22:08:36 -08:00
James Taylor
a04aa63efe
Extraction: Fix subtitles error when video has no automatic captions but has foreign language captions
2019-12-14 14:42:39 -08:00
James Taylor
8c16062ea8
Extraction: Fix subtitles not working on certain videos which require more parameters in the captions url
2019-12-14 14:37:03 -08:00
James Taylor
ecc1ce42b8
Extraction: Display that video is age-restricted
2019-12-12 22:13:37 -08:00
James Taylor
26f37521ba
Extraction: Bypass age-restriction
2019-12-12 22:13:17 -08:00
James Taylor
205ad29cb0
Extraction: Add general subtitle extraction and translation
2019-11-29 18:36:27 -08:00
James Taylor
95da24a206
Extraction: extract automatic captions
2019-11-28 22:24:17 -08:00
James Taylor
782a826397
Extraction: extract fields from visible webpage if missing from playerResposne
2019-11-25 11:21:11 -08:00
James Taylor
79d9a18f81
Extraction: return and display any errors preventing video playback
2019-11-22 14:56:53 -08:00
James Taylor
b614fcdb85
Fix regression: Can't remove videos from local playlists
2019-10-21 21:14:13 -07:00
James Taylor
70b56d6eef
Extraction: Add signature decryption
2019-10-18 14:02:28 -07:00
James Taylor
4c07546e7a
Extraction: Replace youtube-dl with custom-built watch page extraction
2019-10-17 19:58:13 -07:00
James Taylor
fd327ae653
Fix muted channels not being faded out on subscription manager page
2019-10-17 19:23:58 -07:00
James Taylor
9abb83fdbc
Extraction: Fix did_you_mean and showing_results_for
2019-09-27 19:27:19 -07:00
James Taylor
e68ac26b4e
Extraction: Rename get_response to extract_response and check that returned type is dict
2019-09-27 18:07:46 -07:00
James Taylor
ce8a658a0e
Extraction: Move item extraction into a generic, robust function
2019-09-27 18:03:19 -07:00
James Taylor
61c50e0b54
Extraction: Move comment extraction to yt_data_extract
2019-09-19 11:41:16 -07: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
66b1159d36
Fix related videos title clipping
2019-09-18 21:49:25 -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
33a8898656
Only display local playlist controls in header on pages with videos
2019-09-15 14:59:19 -07:00
James Taylor
57c37a57e9
Add optional javascript for adding videos to playlists without the browser cancelling loading of the video, and to display a status message
2019-09-15 14:55:57 -07:00
James Taylor
f48de1aad2
Fix breakage due to youtube changes
2019-09-11 15:09:20 -07:00
James Taylor
21c617faf7
Local playlists list: center list and add background to it
2019-09-10 17:57:32 -07:00
James Taylor
27efcaf2b1
Comments: Fix some avatars overflowing
2019-09-10 15:31:20 -07:00
James Taylor
652cef15ec
Watch page: Background color on video when scrubbing bar larger than video
2019-09-09 20:40:38 -07:00
James Taylor
89e5761f8d
Extraction: Move playlist extraction to yt_data_extract
2019-09-08 18:42:08 -07:00
James Taylor
c362a5e834
Extraction: Move search extraction to yt_data_extract
2019-09-08 18:06:30 -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
fb1a3531c5
Extraction: Fix url prefixing
2019-09-08 17:20:02 -07:00
James Taylor
1b6fb4e100
Allow 'New' badge in video items
2019-09-08 16:48:07 -07:00
James Taylor
0ca12270a8
Search: Add some space around the number of results
2019-09-08 10:38:23 -07:00
James Taylor
3c9a6dd8e6
Search: Fix advertisements for google products like home/stadia breaking search results
2019-09-08 10:32:52 -07:00