mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	release 2016.04.13
This commit is contained in:
		
							
								
								
									
										6
									
								
								.github/ISSUE_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/ISSUE_TEMPLATE.md
									
									
									
									
										vendored
									
									
								
							| @@ -6,8 +6,8 @@ | |||||||
|  |  | ||||||
| --- | --- | ||||||
|  |  | ||||||
| ### Make sure you are using the *latest* version: run `youtube-dl --version` and ensure your version is *2016.04.06*. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected. | ### Make sure you are using the *latest* version: run `youtube-dl --version` and ensure your version is *2016.04.13*. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected. | ||||||
| - [ ] I've **verified** and **I assure** that I'm running youtube-dl **2016.04.06** | - [ ] I've **verified** and **I assure** that I'm running youtube-dl **2016.04.13** | ||||||
|  |  | ||||||
| ### Before submitting an *issue* make sure you have: | ### Before submitting an *issue* make sure you have: | ||||||
| - [ ] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections | - [ ] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections | ||||||
| @@ -35,7 +35,7 @@ $ youtube-dl -v <your command line> | |||||||
| [debug] User config: [] | [debug] User config: [] | ||||||
| [debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj'] | [debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj'] | ||||||
| [debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251 | [debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251 | ||||||
| [debug] youtube-dl version 2016.04.06 | [debug] youtube-dl version 2016.04.13 | ||||||
| [debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2 | [debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2 | ||||||
| [debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4 | [debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4 | ||||||
| [debug] Proxy map: {} | [debug] Proxy map: {} | ||||||
|   | |||||||
| @@ -140,14 +140,14 @@ After you have ensured this site is distributing it's content legally, you can f | |||||||
|                 # TODO more properties (see youtube_dl/extractor/common.py) |                 # TODO more properties (see youtube_dl/extractor/common.py) | ||||||
|             } |             } | ||||||
|     ``` |     ``` | ||||||
| 5. Add an import in [`youtube_dl/extractor/__init__.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/__init__.py). | 5. Add an import in [`youtube_dl/extractor/extractors.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/extractors.py). | ||||||
| 6. Run `python test/test_download.py TestDownload.test_YourExtractor`. This *should fail* at first, but you can continually re-run it until you're done. If you decide to add more than one test, then rename ``_TEST`` to ``_TESTS`` and make it into a list of dictionaries. The tests will then be named `TestDownload.test_YourExtractor`, `TestDownload.test_YourExtractor_1`, `TestDownload.test_YourExtractor_2`, etc. | 6. Run `python test/test_download.py TestDownload.test_YourExtractor`. This *should fail* at first, but you can continually re-run it until you're done. If you decide to add more than one test, then rename ``_TEST`` to ``_TESTS`` and make it into a list of dictionaries. The tests will then be named `TestDownload.test_YourExtractor`, `TestDownload.test_YourExtractor_1`, `TestDownload.test_YourExtractor_2`, etc. | ||||||
| 7. Have a look at [`youtube_dl/extractor/common.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py) for possible helper methods and a [detailed description of what your extractor should and may return](https://github.com/rg3/youtube-dl/blob/58525c94d547be1c8167d16c298bdd75506db328/youtube_dl/extractor/common.py#L68-L226). Add tests and code for as many as you want. | 7. Have a look at [`youtube_dl/extractor/common.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py) for possible helper methods and a [detailed description of what your extractor should and may return](https://github.com/rg3/youtube-dl/blob/58525c94d547be1c8167d16c298bdd75506db328/youtube_dl/extractor/common.py#L68-L226). Add tests and code for as many as you want. | ||||||
| 8. Keep in mind that the only mandatory fields in info dict for successful extraction process are `id`, `title` and either `url` or `formats`, i.e. these are the critical data the extraction does not make any sense without. This means that [any field](https://github.com/rg3/youtube-dl/blob/58525c94d547be1c8167d16c298bdd75506db328/youtube_dl/extractor/common.py#L138-L226) apart from aforementioned mandatory ones should be treated **as optional** and extraction should be **tolerate** to situations when sources for these fields can potentially be unavailable (even if they always available at the moment) and **future-proof** in order not to break the extraction of general purpose mandatory fields. For example, if you have some intermediate dict `meta` that is a source of metadata and it has a key `summary` that you want to extract and put into resulting info dict as `description`, you should be ready that this key may be missing from the `meta` dict, i.e. you should extract it as `meta.get('summary')` and not `meta['summary']`. Similarly, you should pass `fatal=False` when extracting data from a webpage with `_search_regex/_html_search_regex`. | 8. Keep in mind that the only mandatory fields in info dict for successful extraction process are `id`, `title` and either `url` or `formats`, i.e. these are the critical data the extraction does not make any sense without. This means that [any field](https://github.com/rg3/youtube-dl/blob/58525c94d547be1c8167d16c298bdd75506db328/youtube_dl/extractor/common.py#L138-L226) apart from aforementioned mandatory ones should be treated **as optional** and extraction should be **tolerate** to situations when sources for these fields can potentially be unavailable (even if they always available at the moment) and **future-proof** in order not to break the extraction of general purpose mandatory fields. For example, if you have some intermediate dict `meta` that is a source of metadata and it has a key `summary` that you want to extract and put into resulting info dict as `description`, you should be ready that this key may be missing from the `meta` dict, i.e. you should extract it as `meta.get('summary')` and not `meta['summary']`. Similarly, you should pass `fatal=False` when extracting data from a webpage with `_search_regex/_html_search_regex`. | ||||||
| 9. Check the code with [flake8](https://pypi.python.org/pypi/flake8). | 9. Check the code with [flake8](https://pypi.python.org/pypi/flake8). | ||||||
| 10. When the tests pass, [add](http://git-scm.com/docs/git-add) the new files and [commit](http://git-scm.com/docs/git-commit) them and [push](http://git-scm.com/docs/git-push) the result, like this: | 10. When the tests pass, [add](http://git-scm.com/docs/git-add) the new files and [commit](http://git-scm.com/docs/git-commit) them and [push](http://git-scm.com/docs/git-push) the result, like this: | ||||||
|  |  | ||||||
|         $ git add youtube_dl/extractor/__init__.py |         $ git add youtube_dl/extractor/extractors.py | ||||||
|         $ git add youtube_dl/extractor/yourextractor.py |         $ git add youtube_dl/extractor/yourextractor.py | ||||||
|         $ git commit -m '[yourextractor] Add new extractor' |         $ git commit -m '[yourextractor] Add new extractor' | ||||||
|         $ git push origin yourextractor |         $ git push origin yourextractor | ||||||
|   | |||||||
| @@ -115,6 +115,7 @@ | |||||||
|  - **Cinemassacre** |  - **Cinemassacre** | ||||||
|  - **Clipfish** |  - **Clipfish** | ||||||
|  - **cliphunter** |  - **cliphunter** | ||||||
|  |  - **ClipRs** | ||||||
|  - **Clipsyndicate** |  - **Clipsyndicate** | ||||||
|  - **cloudtime**: CloudTime |  - **cloudtime**: CloudTime | ||||||
|  - **Cloudy** |  - **Cloudy** | ||||||
| @@ -286,7 +287,6 @@ | |||||||
|  - **ivi:compilation**: ivi.ru compilations |  - **ivi:compilation**: ivi.ru compilations | ||||||
|  - **ivideon**: Ivideon TV |  - **ivideon**: Ivideon TV | ||||||
|  - **Izlesene** |  - **Izlesene** | ||||||
|  - **JadoreCettePub** |  | ||||||
|  - **JeuxVideo** |  - **JeuxVideo** | ||||||
|  - **Jove** |  - **Jove** | ||||||
|  - **jpopsuki.tv** |  - **jpopsuki.tv** | ||||||
| @@ -484,6 +484,7 @@ | |||||||
|  - **Pornotube** |  - **Pornotube** | ||||||
|  - **PornoVoisines** |  - **PornoVoisines** | ||||||
|  - **PornoXO** |  - **PornoXO** | ||||||
|  |  - **PressTV** | ||||||
|  - **PrimeShareTV** |  - **PrimeShareTV** | ||||||
|  - **PromptFile** |  - **PromptFile** | ||||||
|  - **prosiebensat1**: ProSiebenSat.1 Digital |  - **prosiebensat1**: ProSiebenSat.1 Digital | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| __version__ = '2016.04.06' | __version__ = '2016.04.13' | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user