Compare commits
	
		
			9 Commits
		
	
	
		
			2013.02.18
			...
			2013.02.22
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | ea05129ebd | ||
|  | 4be0aa3539 | ||
|  | f636c34481 | ||
|  | 3bf79c752e | ||
|  | 8271226a55 | ||
|  | 1013186a17 | ||
|  | 7c038b3c32 | ||
|  | c8cd8e5f55 | ||
|  | 471cf47796 | 
| @@ -1,3 +1,5 @@ | ||||
| include README.md | ||||
| include test/*.py | ||||
| include test/*.json | ||||
| include test/*.json | ||||
| include youtube-dl.bash-completion | ||||
| include youtube-dl.1 | ||||
|   | ||||
| @@ -22,7 +22,7 @@ if [ ! -f "updates_key.pem" ]; then echo 'ERROR: updates_key.pem missing'; exit | ||||
|  | ||||
| /bin/echo -e "\n### First of all, testing..." | ||||
| make cleanall | ||||
| nosetests --with-coverage --cover-package=youtube_dl --cover-html test || exit 1 | ||||
| nosetests --with-coverage --cover-package=youtube_dl --cover-html test --stop || exit 1 | ||||
|  | ||||
| /bin/echo -e "\n### Changing version in version.py..." | ||||
| sed -i "s/__version__ = '.*'/__version__ = '$version'/" youtube_dl/version.py | ||||
|   | ||||
| @@ -370,12 +370,10 @@ class FileDownloader(object): | ||||
|         title = info_dict['title'] | ||||
|         matchtitle = self.params.get('matchtitle', False) | ||||
|         if matchtitle: | ||||
|             matchtitle = matchtitle.decode('utf8') | ||||
|             if not re.search(matchtitle, title, re.IGNORECASE): | ||||
|                 return u'[download] "' + title + '" title did not match pattern "' + matchtitle + '"' | ||||
|         rejecttitle = self.params.get('rejecttitle', False) | ||||
|         if rejecttitle: | ||||
|             rejecttitle = rejecttitle.decode('utf8') | ||||
|             if re.search(rejecttitle, title, re.IGNORECASE): | ||||
|                 return u'"' + title + '" title matched reject pattern "' + rejecttitle + '"' | ||||
|         return None | ||||
|   | ||||
| @@ -1330,7 +1330,7 @@ class GenericIE(InfoExtractor): | ||||
|         opener = compat_urllib_request.OpenerDirector() | ||||
|         for handler in [compat_urllib_request.HTTPHandler, compat_urllib_request.HTTPDefaultErrorHandler, | ||||
|                         HTTPMethodFallback, HEADRedirectHandler, | ||||
|                         compat_urllib_error.HTTPErrorProcessor, compat_urllib_request.HTTPSHandler]: | ||||
|                         compat_urllib_request.HTTPErrorProcessor, compat_urllib_request.HTTPSHandler]: | ||||
|             opener.add_handler(handler()) | ||||
|  | ||||
|         response = opener.open(HeadRequest(url)) | ||||
| @@ -1366,6 +1366,9 @@ class GenericIE(InfoExtractor): | ||||
|         if mobj is None: | ||||
|             # Broaden the search a little bit | ||||
|             mobj = re.search(r'[^A-Za-z0-9]?(?:file|source)=(http[^\'"&]*)', webpage) | ||||
|         if mobj is None: | ||||
|             # Broaden the search a little bit: JWPlayer JS loader | ||||
|             mobj = re.search(r'[^A-Za-z0-9]?file:\s*["\'](http[^\'"&]*)', webpage) | ||||
|         if mobj is None: | ||||
|             self._downloader.trouble(u'ERROR: Invalid URL: %s' % url) | ||||
|             return | ||||
|   | ||||
| @@ -412,6 +412,7 @@ def _real_main(): | ||||
|             or (opts.useid and u'%(id)s.%(ext)s') | ||||
|             or (opts.autonumber and u'%(autonumber)s-%(id)s.%(ext)s') | ||||
|             or u'%(id)s.%(ext)s') | ||||
|  | ||||
|     # File downloader | ||||
|     fd = FileDownloader({ | ||||
|         'usenetrc': opts.usenetrc, | ||||
| @@ -450,8 +451,8 @@ def _real_main(): | ||||
|         'writeinfojson': opts.writeinfojson, | ||||
|         'writesubtitles': opts.writesubtitles, | ||||
|         'subtitleslang': opts.subtitleslang, | ||||
|         'matchtitle': opts.matchtitle, | ||||
|         'rejecttitle': opts.rejecttitle, | ||||
|         'matchtitle': decodeOption(opts.matchtitle), | ||||
|         'rejecttitle': decodeOption(opts.rejecttitle), | ||||
|         'max_downloads': opts.max_downloads, | ||||
|         'prefer_free_formats': opts.prefer_free_formats, | ||||
|         'verbose': opts.verbose, | ||||
|   | ||||
| @@ -77,10 +77,8 @@ def update_self(to_screen, verbose, filename): | ||||
|  | ||||
|     to_screen(u'Updating to version ' + versions_info['latest'] + '...') | ||||
|     version = versions_info['versions'][versions_info['latest']] | ||||
|     if version.get('notes'): | ||||
|         to_screen(u'PLEASE NOTE:') | ||||
|         for note in version['notes']: | ||||
|             to_screen(note) | ||||
|  | ||||
|     print_notes(version_info['versions']) | ||||
|  | ||||
|     if not os.access(filename, os.W_OK): | ||||
|         to_screen(u'ERROR: no write permissions on %s' % filename) | ||||
| @@ -158,3 +156,13 @@ del "%s" | ||||
|             return | ||||
|  | ||||
|     to_screen(u'Updated youtube-dl. Restart youtube-dl to use the new version.') | ||||
|  | ||||
| def print_notes(versions, fromVersion=__version__): | ||||
|     notes = [] | ||||
|     for v,vdata in sorted(versions.items()): | ||||
|         if v > fromVersion: | ||||
|             notes.extend(vdata.get('notes', [])) | ||||
|     if notes: | ||||
|         to_screen(u'PLEASE NOTE:') | ||||
|         for note in notes: | ||||
|             to_screen(note) | ||||
|   | ||||
| @@ -420,6 +420,14 @@ def encodeFilename(s): | ||||
|             encoding = 'utf-8' | ||||
|         return s.encode(encoding, 'ignore') | ||||
|  | ||||
| def decodeOption(optval): | ||||
|     if optval is None: | ||||
|         return optval | ||||
|     if isinstance(optval, bytes): | ||||
|         optval = optval.decode(preferredencoding()) | ||||
|  | ||||
|     assert isinstance(optval, compat_str) | ||||
|     return optval | ||||
|  | ||||
| class ExtractorError(Exception): | ||||
|     """Error during info extraction.""" | ||||
|   | ||||
| @@ -1,2 +1,2 @@ | ||||
|  | ||||
| __version__ = '2013.02.18' | ||||
| __version__ = '2013.02.22' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user