mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[cleanup] Misc (#13595)
Closes #10853, Closes #12436, Closes #13314, Closes #13609 Authored by: seproDev, InvalidUsernameException, doe1080, hseg, bashonly, adamralph Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com> Co-authored-by: InvalidUsernameException <InvalidUsernameException@users.noreply.github.com> Co-authored-by: gesh <gesh@gesh.uni.cx> Co-authored-by: Adam Ralph <adam@adamralph.com> Co-authored-by: doe1080 <98906116+doe1080@users.noreply.github.com>
This commit is contained in:
		| @@ -126,7 +126,7 @@ By sharing an account with anyone, you agree to bear all risks associated with i | |||||||
| While these steps won't necessarily ensure that no misuse of the account takes place, these are still some good practices to follow. | While these steps won't necessarily ensure that no misuse of the account takes place, these are still some good practices to follow. | ||||||
| 
 | 
 | ||||||
| - Look for people with `Member` (maintainers of the project) or `Contributor` (people who have previously contributed code) tag on their messages. | - Look for people with `Member` (maintainers of the project) or `Contributor` (people who have previously contributed code) tag on their messages. | ||||||
| - Change the password before sharing the account to something random (use [this](https://passwordsgenerator.net/) if you don't have a random password generator). | - Change the password before sharing the account to something random. | ||||||
| - Change the password after receiving the account back. | - Change the password after receiving the account back. | ||||||
| 
 | 
 | ||||||
| ### Is the website primarily used for piracy? | ### Is the website primarily used for piracy? | ||||||
|   | |||||||
| @@ -277,7 +277,7 @@ If you fork the project on GitHub, you can run your fork's [build workflow](.git | |||||||
| <!-- MANPAGE: BEGIN EXCLUDED SECTION --> | <!-- MANPAGE: BEGIN EXCLUDED SECTION --> | ||||||
|     yt-dlp [OPTIONS] [--] URL [URL...] |     yt-dlp [OPTIONS] [--] URL [URL...] | ||||||
| 
 | 
 | ||||||
| `Ctrl+F` is your friend :D | Tip: Use `CTRL`+`F` (or `Command`+`F`)  to search by keywords | ||||||
| <!-- MANPAGE: END EXCLUDED SECTION --> | <!-- MANPAGE: END EXCLUDED SECTION --> | ||||||
| 
 | 
 | ||||||
| <!-- Auto generated --> | <!-- Auto generated --> | ||||||
| @@ -1902,8 +1902,8 @@ The following extractors use this feature: | |||||||
| * `backend`: Backend API to use for extraction - one of `streaks` (default) or `brightcove` (deprecated) | * `backend`: Backend API to use for extraction - one of `streaks` (default) or `brightcove` (deprecated) | ||||||
| 
 | 
 | ||||||
| #### vimeo | #### vimeo | ||||||
| * `client`: Client to extract video data from. One of `android` (default), `ios` or `web`. The `ios` client only works with previously cached OAuth tokens. The `web` client only works when authenticated with credentials or account cookies | * `client`: Client to extract video data from. The currently available clients are `android`, `ios`, and `web`. Only one client can be used. The `android` client is used by default. If account cookies or credentials are used for authentication, then the `web` client is used by default. The `web` client only works with authentication. The `ios` client only works with previously cached OAuth tokens | ||||||
| * `original_format_policy`: Policy for when to try extracting original formats. One of `always`, `never`, or `auto`. The default `auto` policy tries to avoid exceeding the API rate-limit by only making an extra request when Vimeo publicizes the video's downloadability | * `original_format_policy`: Policy for when to try extracting original formats. One of `always`, `never`, or `auto`. The default `auto` policy tries to avoid exceeding the web client's API rate-limit by only making an extra request when Vimeo publicizes the video's downloadability | ||||||
| 
 | 
 | ||||||
| **Note**: These options may be changed/removed in the future without concern for backward compatibility | **Note**: These options may be changed/removed in the future without concern for backward compatibility | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -262,5 +262,15 @@ | |||||||
|     { |     { | ||||||
|         "action": "remove", |         "action": "remove", | ||||||
|         "when": "500761e41acb96953a5064e951d41d190c287e46" |         "when": "500761e41acb96953a5064e951d41d190c287e46" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "action": "add", | ||||||
|  |         "when": "f3008bc5f89d2691f2f8dfc51b406ef4e25281c3", | ||||||
|  |         "short": "[priority] **Default behaviour changed from `--mtime` to `--no-mtime`**\nyt-dlp no longer applies the server modified time to downloaded files by default. [Read more](https://github.com/yt-dlp/yt-dlp/issues/12780)" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |         "action": "add", | ||||||
|  |         "when": "959ac99e98c3215437e573c22d64be42d361e863", | ||||||
|  |         "short": "[priority] Security: [[CVE-2025-54072](https://nvd.nist.gov/vuln/detail/CVE-2025-54072)] [Fix `--exec` placeholder expansion on Windows](https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-45hg-7f49-5h56)\n    - When `--exec` is used on Windows, the filepath expanded from `{}` (or the default placeholder) is now properly escaped" | ||||||
|     } |     } | ||||||
| ] | ] | ||||||
|   | |||||||
| @@ -66,10 +66,6 @@ tests_counter = collections.defaultdict(collections.Counter) | |||||||
| 
 | 
 | ||||||
| @is_download_test | @is_download_test | ||||||
| class TestDownload(unittest.TestCase): | class TestDownload(unittest.TestCase): | ||||||
|     # Parallel testing in nosetests. See |  | ||||||
|     # http://nose.readthedocs.org/en/latest/doc_tests/test_multiprocess/multiprocess.html |  | ||||||
|     _multiprocess_shared_ = True |  | ||||||
| 
 |  | ||||||
|     maxDiff = None |     maxDiff = None | ||||||
| 
 | 
 | ||||||
|     COMPLETED_TESTS = {} |     COMPLETED_TESTS = {} | ||||||
|   | |||||||
| @@ -529,6 +529,7 @@ class YoutubeDL: | |||||||
|                        discontinuities such as ad breaks (default: False) |                        discontinuities such as ad breaks (default: False) | ||||||
|     extractor_args:    A dictionary of arguments to be passed to the extractors. |     extractor_args:    A dictionary of arguments to be passed to the extractors. | ||||||
|                        See "EXTRACTOR ARGUMENTS" for details. |                        See "EXTRACTOR ARGUMENTS" for details. | ||||||
|  |                        Argument values must always be a list of string(s). | ||||||
|                        E.g. {'youtube': {'skip': ['dash', 'hls']}} |                        E.g. {'youtube': {'skip': ['dash', 'hls']}} | ||||||
|     mark_watched:      Mark videos watched (even with --simulate). Only for YouTube |     mark_watched:      Mark videos watched (even with --simulate). Only for YouTube | ||||||
| 
 | 
 | ||||||
|   | |||||||
| @@ -397,6 +397,8 @@ class InfoExtractor: | |||||||
|     chapters:       A list of dictionaries, with the following entries: |     chapters:       A list of dictionaries, with the following entries: | ||||||
|                         * "start_time" - The start time of the chapter in seconds |                         * "start_time" - The start time of the chapter in seconds | ||||||
|                         * "end_time" - The end time of the chapter in seconds |                         * "end_time" - The end time of the chapter in seconds | ||||||
|  |                                        (optional: core code can determine this value from | ||||||
|  |                                        the next chapter's start_time or the video's duration) | ||||||
|                         * "title" (optional, string) |                         * "title" (optional, string) | ||||||
|     heatmap:        A list of dictionaries, with the following entries: |     heatmap:        A list of dictionaries, with the following entries: | ||||||
|                         * "start_time" - The start time of the data point in seconds |                         * "start_time" - The start time of the data point in seconds | ||||||
| @@ -411,7 +413,8 @@ class InfoExtractor: | |||||||
|                     'unlisted' or 'public'. Use 'InfoExtractor._availability' |                     'unlisted' or 'public'. Use 'InfoExtractor._availability' | ||||||
|                     to set it |                     to set it | ||||||
|     media_type:     The type of media as classified by the site, e.g. "episode", "clip", "trailer" |     media_type:     The type of media as classified by the site, e.g. "episode", "clip", "trailer" | ||||||
|     _old_archive_ids: A list of old archive ids needed for backward compatibility |     _old_archive_ids: A list of old archive ids needed for backward | ||||||
|  |                    compatibility. Use yt_dlp.utils.make_archive_id to generate ids | ||||||
|     _format_sort_fields: A list of fields to use for sorting formats |     _format_sort_fields: A list of fields to use for sorting formats | ||||||
|     __post_extractor: A function to be called just before the metadata is |     __post_extractor: A function to be called just before the metadata is | ||||||
|                     written to either disk, logger or console. The function |                     written to either disk, logger or console. The function | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ class MirrativIE(MirrativBaseIE): | |||||||
|     IE_NAME = 'mirrativ' |     IE_NAME = 'mirrativ' | ||||||
|     _VALID_URL = r'https?://(?:www\.)?mirrativ\.com/live/(?P<id>[^/?#&]+)' |     _VALID_URL = r'https?://(?:www\.)?mirrativ\.com/live/(?P<id>[^/?#&]+)' | ||||||
| 
 | 
 | ||||||
|     TESTS = [{ |     _TESTS = [{ | ||||||
|         'url': 'https://mirrativ.com/live/UQomuS7EMgHoxRHjEhNiHw', |         'url': 'https://mirrativ.com/live/UQomuS7EMgHoxRHjEhNiHw', | ||||||
|         'info_dict': { |         'info_dict': { | ||||||
|             'id': 'UQomuS7EMgHoxRHjEhNiHw', |             'id': 'UQomuS7EMgHoxRHjEhNiHw', | ||||||
|   | |||||||
| @@ -18,7 +18,6 @@ class NewsPicksIE(InfoExtractor): | |||||||
|             'title': '日本の課題を破壊せよ【ゲスト:成田悠輔】', |             'title': '日本の課題を破壊せよ【ゲスト:成田悠輔】', | ||||||
|             'cast': 'count:4', |             'cast': 'count:4', | ||||||
|             'description': 'md5:09397aad46d6ded6487ff13f138acadf', |             'description': 'md5:09397aad46d6ded6487ff13f138acadf', | ||||||
|             'duration': 2940, |  | ||||||
|             'release_date': '20220117', |             'release_date': '20220117', | ||||||
|             'release_timestamp': 1642424400, |             'release_timestamp': 1642424400, | ||||||
|             'series': 'HORIE ONE', |             'series': 'HORIE ONE', | ||||||
| @@ -35,7 +34,6 @@ class NewsPicksIE(InfoExtractor): | |||||||
|             'title': '【検証】専門家は、KADOKAWAをどう見るか', |             'title': '【検証】専門家は、KADOKAWAをどう見るか', | ||||||
|             'cast': 'count:3', |             'cast': 'count:3', | ||||||
|             'description': 'md5:2c2d4bf77484a4333ec995d676f9a91d', |             'description': 'md5:2c2d4bf77484a4333ec995d676f9a91d', | ||||||
|             'duration': 1320, |  | ||||||
|             'release_date': '20240622', |             'release_date': '20240622', | ||||||
|             'release_timestamp': 1719088080, |             'release_timestamp': 1719088080, | ||||||
|             'series': 'NPレポート', |             'series': 'NPレポート', | ||||||
|   | |||||||
| @@ -2076,7 +2076,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): | |||||||
|         assert os.path.basename(func_id) == func_id |         assert os.path.basename(func_id) == func_id | ||||||
| 
 | 
 | ||||||
|         self.write_debug(f'Extracting signature function {func_id}') |         self.write_debug(f'Extracting signature function {func_id}') | ||||||
|         cache_spec, code = self.cache.load('youtube-sigfuncs', func_id, min_ver='2025.03.31'), None |         cache_spec, code = self.cache.load('youtube-sigfuncs', func_id, min_ver='2025.07.21'), None | ||||||
| 
 | 
 | ||||||
|         if not cache_spec: |         if not cache_spec: | ||||||
|             code = self._load_player(video_id, player_url) |             code = self._load_player(video_id, player_url) | ||||||
| @@ -2180,7 +2180,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): | |||||||
|         if data := self._player_cache.get(cache_id): |         if data := self._player_cache.get(cache_id): | ||||||
|             return data |             return data | ||||||
| 
 | 
 | ||||||
|         data = self.cache.load(*cache_id, min_ver='2025.03.31') |         data = self.cache.load(*cache_id, min_ver='2025.07.21') | ||||||
|         if data: |         if data: | ||||||
|             self._player_cache[cache_id] = data |             self._player_cache[cache_id] = data | ||||||
| 
 | 
 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 sepro
					sepro