| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
extractor shouldnt be executable
time thing should so i can test it easier
|
|
|
|
| |
closes #17
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Station metadata changes extremely rarely, if ever, so it seems awfully
silly to keep downloading the exact same metadata every time we extract.
Wastes requests, wastes time (300ms round trip for me)
This commit makes it so station metadata is cached for a day, and cached
data is used in place of downloaded metadata when available.
Closes #16
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old behaviour assumed programmes were deleted precisely a week after
their end time. This isn't actually the case though, as long as it's
within a week of the _broadcast day_, the site will let you.
This lead to the extractor bailing out (Programme is no longer available)
when in fact the programme was still playable on the site.
The fix uses the same logic as RadikoTime.broadcast_day to find the
broadcast day (TODO: one func for both?), then sets the time to 05:00:00
the next day - i.e. the start of a new broadcast day.
|
| |
|
| |
|
|
|
|
|
| |
now only one thing gets passed around and it has most everything we need
closes #11
|
| |
|
|
|
|
| |
ie dont do the dumb noformats vars, just raise the message there and then
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
| |
ERROR: Response.info() is deprecated, use Response.headers
see #14
|
| |
|
|
|
|
| |
fixes #13
|
| |
|
| |
|
|
|
|
| |
so when embedding it gets tagged as the artist
|
| |
|
|
|
|
| |
closes #6
|
|
|
|
| |
closes #4
|
|
|
|
| |
not smort enough for traverse_obj
|
| |
|
|
|
|
| |
one of these days i should look in to a way to do this automatically
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
FM_OKINAWA, FM_OITA
|
| |
|
| |
|
| |
|
|
|
|
|
| |
this means it cant see the old tokens
who cares, they expire in an hour
|
|
|
|
| |
wall of constants abandoned as a lost cause
|
| |
|
|
|
|
| |
urls in the middle of the programme are valid and do occur in the wild
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
| |
|
| |
|
| |
|
| |
|