aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/yt_dlp_plugins/extractor
Commit message (Collapse)AuthorAgeFilesLines
...
* Migrate to unified time handler thinggarret2023-08-242-56/+142
| | | | | now only one thing gets passed around and it has most everything we need closes #11
* update testsgarret2023-08-241-84/+94
|
* bail sooner when programme is unavailablegarret2023-08-241-18/+5
| | | | ie dont do the dumb noformats vars, just raise the message there and then
* Add timefree availability checkgarret2023-08-151-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | afaict nhk doesn't have timefree, and it says as much on the programme pages The download doesn't fail though, you just get a loop of elevator music and an apology that it's not available (lasting the duration of the programme) from tsDetail.js tsInNg = playable in the area tsOutNg = playable outside the area (maybe - just a guess really, but seems to line up) outside station area + playable in area + not playable outside = not available in your area outside station area + not playable in area + not playable outside area = not available on timefree inside station area + not playable in area = not available on timefree we'll always be in the station area, so we only have to check tsInNg included a message about NHK Radiru because so far i've only seen NHK programmes be unavailable one day i should make the programme_meta func return a dict or something instead of just adding stuff on the end ad infinitum closes #15
* encode b64 partialkey as asciigarret2023-07-291-1/+1
| | | | | | | | | fixes #14 new headers thing made b'bytes' into "b'bytes'", instead of just 'bytes' so it sent eg `X-Radiko-Partialkey: b'9lOaAg+2TZRSF+IsiDnUJg=='` likely a fix for this upstream soon, but will do the sensible thing and make it ascii myself https://discord.com/channels/807245652072857610/1112613156934668338/1134879336512634880 (yt-dlp discord)
* add debug incantations to check for proper key offset/lengthgarret2023-07-291-0/+5
|
* switch from Response.info() to Response.headersgarret2023-07-291-1/+1
| | | | | ERROR: Response.info() is deprecated, use Response.headers see #14
* update search testsgarret2023-07-151-10/+10
|
* handle multi-paged search resultsgarret2023-07-151-4/+13
| | | | fixes #13
* remove unused functiongarret2023-07-131-4/+0
|
* fix wrong comparison in ShareIEgarret2023-07-051-1/+1
|
* add station as uploadergarret2023-07-041-0/+1
| | | | so when embedding it gets tagged as the artist
* get better artist name in tracklistgarret2023-07-041-5/+9
|
* add tracklist chapters extractiongarret2023-07-041-0/+14
| | | | closes #6
* add Station Button embed extractorgarret2023-06-271-0/+71
| | | | closes #4
* loop through search results the old-fashioned waygarret2023-06-191-7/+2
| | | | not smort enough for traverse_obj
* streamline xml parsing with XPathsgarret2023-06-191-38/+38
|
* update testsgarret2023-06-191-28/+28
| | | | one of these days i should look in to a way to do this automatically
* add SearchIE testsgarret2023-06-131-0/+25
|
* add playlist id to SearchIEgarret2023-06-131-0/+8
|
* add ShareIE testgarret2023-06-131-0/+24
|
* handle 29-hour time in ShareIEgarret2023-06-131-0/+10
|
* add history to search regexgarret2023-06-131-1/+1
|
* relax station ID regexgarret2023-06-091-2/+2
| | | | FM_OKINAWA, FM_OITA
* shitgarret2023-06-041-1/+1
|
* add message asking for reports if region mismatchgarret2023-06-041-1/+1
|
* add share link extractorgarret2023-06-041-0/+10
|
* store all cache in one placegarret2023-05-301-2/+2
| | | | | this means it cant see the old tokens who cares, they expire in an hour
* some semblance of code cleanupgarret2023-05-291-246/+248
| | | | wall of constants abandoned as a lost cause
* somewhat quick and dirty search extractorgarret2023-05-291-0/+32
|
* check if url time is between start/end of programmegarret2023-05-221-3/+4
| | | | urls in the middle of the programme are valid and do occur in the wild
* correct mismatched release/timestampgarret2023-05-101-15/+16
|
* don't bother trying with downloading currently-live timefreegarret2023-05-101-8/+9
|
* throw error for expired/not yet aired/live programmesgarret2023-05-091-6/+34
|
* re-index regions if station not presentgarret2023-05-081-1/+4
| | | | | stations change names, new ones get added, etc assume it's something like this and try to correct for it before kicking you out with an error
* add debuggering stuffgarret2023-05-081-1/+4
|
* make BaseIE privategarret2023-05-081-3/+3
| | | | | | | | | | | | | | | | | | | | | prevents the plugin thing from trying to load it as an extractor error this prevents: Traceback (most recent call last): File "/home/g/Downloads/yt-dlp/test/test_download.py", line 160, in test_template res_dict = ydl.extract_info( File "/home/g/Downloads/yt-dlp/yt_dlp/YoutubeDL.py", line 1508, in extract_info if not ie.suitable(url): File "/home/g/Downloads/yt-dlp/yt_dlp/extractor/common.py", line 563, in suitable return cls._match_valid_url(url) is not None File "/home/g/Downloads/yt-dlp/yt_dlp/extractor/common.py", line 555, in _match_valid_url cls._VALID_URL_RE = re.compile(cls._VALID_URL) File "/usr/lib/python3.10/re.py", line 251, in compile return _compile(pattern, flags) File "/usr/lib/python3.10/re.py", line 302, in _compile raise TypeError("first argument must be string or compiled pattern") TypeError: first argument must be string or compiled pattern (BaseIE doesnt have _VALID_URL, so it fails. If I add one, it wants a _real_extract)
* update tests and crapgarret2023-05-071-8/+15
|
* cache tokensgarret2023-05-071-8/+24
|
* polish timefree metadatagarret2023-05-071-9/+88
|
* timefreegarret2023-05-071-45/+146
|
* livegarret2023-05-071-0/+105
|
* authgarret2023-05-071-1/+86
|
* add key, device, and location constantsgarret2023-05-071-0/+375
Co-Authored-By: jackyzy823 <jackyzy823@gmail.com>