Commit Graph

291 Commits (fd5d93f7040f9776fd541f4e4079dad7d3b3fb4f)

Author SHA1 Message Date
pukkandan e0f2b4b47d
[utils] Fix slicing of reversed `LazyList`
Closes 
felix c843e68588
[utils] Improve `js_to_json` comment regex
Capture the newline character as part of a single-line comment

From , Authored by: fstirlitz
pukkandan 981052c9c6 Some minor fixes and refactoring (see desc)
* [utils] Fix issues with reversal
* check_formats should catch `DownloadError`, not `ExtractorError`
* Simplify format selectors with `LazyList` and `yield from`
pukkandan 28419ca2c8
[utils] Improve `LazyList`
* Add `repr` and `str` that mimics `list`
* Add `reversed`. Unlike `[::-1]`, reversed does not exhaust the iterable and modifies the `LazyList` in-place
* Add tests
pukkandan 639f1cea92
Fix `%d` and empty default in outtmpl
Closes 
felix cc52de4356
[cleanup] Point all shebang to `python3` ()
Authored by: fstirlitz
pukkandan bc6b9bcd65
[utils] Escape URLs in `sanitized_Request`, not `sanitize_url`
d2558234cf added escaping of URLs while sanitizing. However, `sanitize_url` may not always receive an actual URL.
Eg: When using `yt-dlp "search query" --default-search ytsearch`, `search query` gets escaped to `search%20query` before being prefixed with `ytsearch:` which is not the intended behavior. So the escaping is moved to `sanitized_Request` instead.
Hubert Hirtz 5435dcf96e
Handle Basic Auth `user:pass` in URLs
Fixes https://github.com/ytdl-org/youtube-dl/issues/20258, https://github.com/ytdl-org/youtube-dl/issues/26211
Authored by: hhirtz, pukkandan
colethedj 9e62f283ff
[utils] Add `datetime_from_str` to parse relative time ()
and `datetime_add_months` to accurately add/subtract months

Authored by: colethedj
Pccode66 7a5c1cfe93
Completely change project name to yt-dlp ()
* All modules and binary names are changed
* All documentation references changed
* yt-dlp no longer loads youtube-dlc config files
* All URLs changed to point to organization account

Co-authored-by: Pccode66
Co-authored-by: pukkandan
pukkandan 00dd0cd573 Update to ytdl-2021.01.08
pukkandan 29f7c58aaf Update to ytdl-2021.01.03
pukkandan 732044afb2 Add --write-*-link by h-h-h-h
Authored-by: h-h-h-h
pukkandan 8bdd16b499 Merge 'ytdl-org/youtube-dl/master' release 2020.11.19
Old Extractors left behind:
	VLivePlaylistIE
	YoutubeSearchURLIE
	YoutubeShowIE
	YoutubeFavouritesIE

If removing old extractors, make corresponding changes in
	docs/supportedsites.md
	youtube_dlc/extractor/extractors.py

Not merged:
	.github/ISSUE_TEMPLATE/1_broken_site.md
	.github/ISSUE_TEMPLATE/2_site_support_request.md
	.github/ISSUE_TEMPLATE/3_site_feature_request.md
	.github/ISSUE_TEMPLATE/4_bug_report.md
	.github/ISSUE_TEMPLATE/5_feature_request.md
	test/test_all_urls.py
	youtube_dlc/version.py
	Changelog
Unknown 39e7107d7f Merge branch 'ytdl-org-master'
Unknown 8ef153ee6f rot47 capital letters.
Unknown 3867038a06 renaming issues resolved
Unknown cefecac12c [skip travis] renaming
to avoid using same folder when using pip install for example
Sergey M․ 42db58ec73
[utils] Improve str_to_int
Remita Amine 348c6bf1c1 [utils] handle int values passed to str_to_int
Sergey M․ 1ced222120
[utils] Add generic caesar cipher and rot47
InfernalUnderling 9d30c2132a [utils] Handle rd-suffixed day parts in unified_strdate ()
Sergey M․ 824fa51165
[utils] Improve subtitles_filename (closes )
Sergey M․ 28cc2241e4
[utils] Restrict parse_codecs and add theora as known vcodec ()
Sergey M․ 53cd37bac5
[utils] Improve strip_or_none
Jakub Wilk fd35d8cdfd [utils] Transliterate "þ" as "th" ()
Despite visual similarity "þ" is unrelated to "p".
It is normally transliterated as "th":

    $ echo þ-Þ | iconv -t ASCII//TRANSLIT
    th-TH
Sergey M․ 5e1271c56d
[utils] Improve int_or_none and float_or_none ()
Sergey M․ 0dc41787af
[utils] Introduce parse_bitrate
Sergey M․ fad4ceb534
[utils] Fix urljoin for paths with non-http(s) schemes
Sergey M․ 25d110be30
[utils] Properly recognize AV1 codec (closes )
Sergey M․ af03000ad5
[utils] Introduce url_or_none
Sergey M․ e9c671d5e8
[utils] Allow JSONP with empty func name (closes )
Enes 85750f8972 [openload] Improve ext extraction
Remita Amine 3bb3ff38a1 [test_utils] add tests for b836118724
Sergey M․ 6cc622327f
[utils] Introduce merge_dicts
Sergey M․ 1cc47c6674
[utils] Fix match_str for boolean meta fields
Philipp Hagemeister f226880c6d [tennistv] Add support for tennistv.com
Sergey M․ b871d7e954
[utils] Add parse_resolution
Sergey M․ befa4708fd
[utils] Fixup some common URL's typos in sanitize_url (closes )
Sergey M․ c707b1d828
[test_utils] Add tests for malformed JSON handling in js_to_json
Mike Fährmann c384d537f8 [util] Improve scientific notation handling in js_to_json (closes )
Sergey M․ b555ae9bf1
[utils] Add another date format pattern ()
Sergey M․ 056653bbb1
[utils] Add support for zero years and months in parse_duration
Yen Chi Hsuan 3869028ffb [utils] Use bytes-like objects in dfxp2srt
This fixes handling of non-UTF8 TTML subtitles

Closes 
Yen Chi Hsuan 95f3f7c20a
[utils] Fix unescapeHTML for misformed string like "&a"" ()
Sergey M․ 5b232f46dc
[utils] Skip missing params in cli_bool_option (closes )
Sergey M․ dee2ff1d81
[test_utils] Fix tests under Windows
Yen Chi Hsuan 609ff8ca19 [utils] Support attributes with no values in get_elements_by_attribute()
Sergey M․ b4a3d461e4
[utils] Handle HTMLParseError in extract_attributes (closes )
Sergey M․ 2ae2ffda5e
[utils] Improve unified_timestamp
Yen Chi Hsuan 5552c9eb0f
[utils] Recognize more patterns in strip_jsonp()
Used in Youku Show pages
Yen Chi Hsuan 0c26548601
[cda] Implement birthday verification (closes )
Sergey M․ deef31955b
[utils] Improve unified_timestamp
Seen at http://zaq1.pl/video/xev0e
Tithen-Firion 9222d94510 [test_utils] Add one more clean_html test
Remita Amine 5b995f713b [utils] add support for ttml styles
Sergey M․ a426ef6d78
[test_utils] Do not use dash in env variables' names
Sergey M․ 41c5e60dd5
[test_utils] Fix expand_path tests
Sergey M․ 51098426b8
[utils] Introduce expand_path
Sergey M․ 4b5de77bdb
[utils] Process bytestrings in urljoin (closes )
Yen Chi Hsuan f48409c7ac [utils] Add pkcs1pad
Used in daisuki.net ()
Thomas Christlieb 2af12ad9d2 Introduce get_elements_by_class and get_elements_by_attribute utility functions
Sergey M․ 4195096ea8
[utils] Improve comments processing in js_to_json (closes )
Michal Čihař b3ee552e4b
[utils] Handle single-line comments in js_to_json
Sergey M․ 15846398ca
[utils] Improve parse_duration
Sergey M․ cb655f34fb
[utils] Add more date formats
Remita Amine 7fe1592073 [common] fix dash codec information for mixed videos and fragment url construction()
Sergey M․ b0c65c677f
[utils] Improve urljoin
Sergey M․ e34c33614d
[utils] Add convenience urljoin
Yen Chi Hsuan 582be35847
Update coding style after pycodestyle 2.1.0
In pycodestyle 2.1.0, E305 was introduced, which requires two blank
lines after top level declarations, too.

See https://github.com/PyCQA/pycodestyle/issues/400

See also ; thanks @stepshal for first mentioning this issue and
initial patches
Sergey M․ 02dc0a36b7
[utils] Introduce base_url
Sergey M․ c6eed6b8c0
[utils] Lower priority for rare date formats and add tests
Sergey M․ 3e4185c396
[utils] Use native french month names
Sergey M․ f6717dec8a
[utils] Improve month_by_name and add tests
Sergey M․ 6562d34a8c
[utils] Improve mimetype2ext
Yen Chi Hsuan 70852b47ca
[utils] Recognize units with full names in parse_filename
Reference: https://en.wikipedia.org/wiki/Template:Quantities_of_bytes
Yen Chi Hsuan e4659b4547
[utils] Correct octal/hexadecimal number detection in js_to_json
Sergey M․ 13585d7682
[utils] Recognize lowercase units in parse_filesize
Remita Amine 5f2c2b7936 [test_utils] add test for option with not str value
Sergey M․ a8795327ca
[utils] Add support TV Parental Guidelines ratings in parse_age_limit
Yen Chi Hsuan 7dc2a74e0a
[utils] Fix unified_timestamp for formats parsed by parsedate_tz()
Yen Chi Hsuan 0b68de3cc1 Merge pull request from remitamine/html5_media
[extractor/common] add helper method to extract html5 media entries
Yen Chi Hsuan 84c237fb8a
[utils] Add get_element_by_class
For 
Remita Amine dfaa86b75e [test_utils] add test for smuggling a smuggled url
remitamine 4f3c5e0627 [utils] add helper function for parsing codecs
Yen Chi Hsuan 1143535d76
[utils] Add urshift()
Used in IqiyiIE and LeIE
Sergey M․ 46f59e89ea
[utils] Add unified_timestamp
Yen Chi Hsuan 47212f7bcb
[utils] Don't transform numbers not starting with a zero
Fix test_Viidea and maybe others
Yen Chi Hsuan 55b2f099c0
[utils] Decode HTML5 entities
Used in test_Vporn_1. Also related to 
bzc6p b96f007eeb Added sanitization support for Hungarian letters Ő and Ű
Sergey M․ 46bc9b7d7c
[utils] Allow None in remove_{start,end}
Sergey M․ 364cf465dd
[test_utils] PEP 8
Sergey M․ 89ac4a19e6
[utils] Process non-base 10 integers in js_to_json
felix bd1e484448
[utils] js_to_json: various improvements
now JS object literals like { /* " */ 0: ",]\xaa<\/p>", } will be correctly converted to JSON.
Yen Chi Hsuan 778a1ccca7
[utils] Add Œ and œ found in French to ACCENT_CHARS
Fixes 
Yen Chi Hsuan dab0daeeb0
[utils,compat] Move struct_pack and struct_unpack to compat.py
Adam Thalhammer 31c4448f6e Instead of replacing accented characters with an underscore when sanitizing file names in restricted mode, replace them with their non-accented equivalents fixes
Adam Thalhammer 79a2e94e79 Instead of replacing accented characters with an underscore when sanitizing file names in restricted mode, replace them with their non-accented equivalents fixes
Sergey M b6c0d4f431 Merge pull request from remitamine/parse_duration
[utils] imporove parse_duration to handle more formats
remitamine acaff49575 [utils] imporove parse_duration to handle more formats
Jaime Marquínez Ferrándiz eb9c3edd5e [test/utils] Add test for date_from_str