Commit Graph

578 Commits (0b0870f9d0dd3e72be3ff6be6bfa9fa43b693b50)

Author SHA1 Message Date
Philipp Hagemeister ba40a74666 [clipfish] Modernize
Philipp Hagemeister 912b38b428 [instagram] Fix info_dict key name
Philipp Hagemeister 6eefe53329 [utils] Simplify setproctitle
Philipp Hagemeister 64e7ad6045 [videolectures] (New extractor)
Philipp Hagemeister a1a530b067 [pbs] Add support for video ratings
Philipp Hagemeister 4e6f9aeca1 Fix typo
Philipp Hagemeister e68301af21 Fix getpass on Windows (Fixes )
Sergey M․ b047de6f6e Add format to unified_strdate
Philipp Hagemeister bcf89ce62c [generic] Suppress warning about doctypes in RSS parser
Jaime Marquínez Ferrándiz b74fa8cd2c [facebook] Fix login process
It was broken and didn't work in python 3.
And use `_download_webpage` instead of `compat_urllib_request.urlopen`.
Sergey M. 4cf9654693 Add one more format to unified_strdate
Philipp Hagemeister 62e609ab77 Ignore BOM in batch files (Fixes )
Sergey M. 7ff5d5c2e2 Add one more format to unified_strdate
Jaime Marquínez Ferrándiz f7300c5c90 [generic] Fix on python 2.6
`ParseError` is not available, it raises `xml.parsers.expat.ExpatError`.
The webpage needs to be encoded.
Sergey M. 0f99566c01 Add one more format in unified_strdate
Sergey M. 2db806b4aa Improve parse_duration
Philipp Hagemeister b53466e168 Fix f4m downloading on Python 2.6
Philipp Hagemeister 026fcc0495 Fix (date parsing with dashes)
Philipp Hagemeister 81c2f20b53 [youtube] Correct invalid JSON (Fixes )
Philipp Hagemeister 5de90176d9 [elpais] Add extractor
Philipp Hagemeister dd26ced164 Add __len__ to PagedLists
Philipp Hagemeister 65697b3bf3 Merge branch 'paged-lists'
Conflicts:
	test/test_utils.py
	youtube_dl/extractor/youtube.py
Philipp Hagemeister 50317b111d Merge branch 'youtube-dash-manifest'
Conflicts:
	youtube_dl/extractor/youtube.py
Philipp Hagemeister af1588c05f [mtv] Update tests and xpath function for new title extraction
Philipp Hagemeister 00122de6a9 [gametrailers/mtv] Fix pre-3.x compatibility function for find_xpath_attr
Fixes 
Philipp Hagemeister 5aafe895fc Correct XML ampersand fixup
Philipp Hagemeister b7ab059084 Add infrastructure for paged lists
This commit allows to download pages in playlists as needed instead of all at once.
Before this commit,
    youtube-dl http://www.youtube.com/user/ANNnewsCH/videos --playlist-end 2 --skip-download
took quite some time - now it's almost instantaneous.
As an example, the youtube:user extractor has been converted.
Fixes 
Philipp Hagemeister dd27fd1739 [youtube] Download DASH manifest
If given, download and parse the DASH manifest file, in order to get ultra-HQ formats.
Fixes 
Philipp Hagemeister d70ad093af Move check_executable into a helper ufnction
Philipp Hagemeister 5f263296ea Merge remote-tracking branch 'epitron/metadata-pp'
Conflicts:
	youtube_dl/PostProcessor.py
Philipp Hagemeister 79f8295303 Use original Referer URL in Brightcove requests (Fixes )
Philipp Hagemeister 5d73273f6f [orf] Use new extraction method (Fixes )
Philipp Hagemeister 8bf48f237d Fix/work around Windows encoding issues (Fixes )
Jaime Marquínez Ferrándiz 91d7d0b333 FFmpegMetadataPP; Write temporary file to `something.temp.{ext}` (fixes )
ffmpeg correctly recognize the formats of extensions like m4a, but it doesn’t works if it’s passed with the `—format` option.
epitron e63fc1bed4 Added '--xattrs' option which writes metadata to the file's extended attributes using a youtube-dl postprocessor.
Works on Linux, OSX, and Windows.
Philipp Hagemeister a0ddb8a2fa Add new --print-traffic option
Philipp Hagemeister 608d11f515 [cnn] Add multiple formats, duration, and upload_date
Philipp Hagemeister 7217e148fb [yahoo] Use centralized sorting, and add tbr field
Philipp Hagemeister aa94a6d315 [aparat] Add support (Fixes )
Philipp Hagemeister e029b8bd43 [utils] Remove duplicated line
This line was added by accident in 42393ce234
Jaime Marquínez Ferrándiz 9b8aaeed85 Simplify url_basename
Use urlparse from the standard library.
Philipp Hagemeister 42393ce234 Add support for direct links to a video ()
Philipp Hagemeister d6c7a367e8 [utils] Fix url_basename
Philipp Hagemeister 29eb517403 Add webpage_url_basename info_dict field (Fixes )
Philipp Hagemeister e64eaaa97d Fix execution under Python 3
Philipp Hagemeister d7dda16888 [blinkx] Add extractor (Fixes )
Philipp Hagemeister e3946f989e Set process title to youtube-dl
This allows killing all youtube-dl processes with killall youtube-dl, and shows up nicer in some programs.
Philipp Hagemeister 2a203a6cda Merge pull request from dstftw/master
Fix typo in month name
dst dadb8184e4 Fix typo in month name
Jaime Marquínez Ferrándiz 1825836235 Use `_download_xml` in more extractors
Philipp Hagemeister caefb1de87 [ndtv] Add extractor (Fixes )
Philipp Hagemeister 1c088fa89d Improve --bidi-workaround support
Philipp Hagemeister ac79fa02b8 Restore Python 2.6.<6 compatibility (Fixes )
Philipp Hagemeister 303b479e0a Automatically load SSL certs on Windows
Jaime Marquínez Ferrándiz f53c966a73 [dailymotion] Extract view count ()
Philipp Hagemeister a1ef7e85d6 Remove unused imports
Philipp Hagemeister 2a275ab007 [zdf] Use _download_xml
Philipp Hagemeister de79c46c8f [viki] Fix subtitle extraction
Philipp Hagemeister 79d09f47c2 Merge branch 'opener-to-ydl'
Philipp Hagemeister 02dbf93f0e [zdf/common] Use API in ZDF extractor.
This also comes with a lot of extra format fields
Fixes 
Philipp Hagemeister e03db0a077 Merge branch 'master' into opener-to-ydl
Philipp Hagemeister 13ebea791f [niconico] Simplify and make work with old Python versions
The website requires SSLv3, otherwise it just times out during SSL negotiation.
Philipp Hagemeister dca0872056 Move the opener to the YoutubeDL object.
This is the first step towards being able to just import youtube_dl and start using it.
Apart from removing global state, this would fix problems like .
Jaime Marquínez Ferrándiz a6a173c2fd utils.shell_quote: Convert the args to unicode strings
The youtube test video failed with `UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 34: ordinal not in range(128)`, the problem was with the filenames being encoded.
Philipp Hagemeister 5904088811 Add support for tou.tv (Fixes )
Philipp Hagemeister ae8f787141 Remove iPhone from user agent. This breaks a lot of extractors
In the future, it might be worth investigating whether we get better content when we claime to be an iPhone.
Philipp Hagemeister 96b31b6533 Add iPhone to UA ()
Jaime Marquínez Ferrándiz 55b3e45bba [vimeo] Fix pro videos and player.vimeo.com urls
The old process can still be used for those videos.
Added RegexNotFoundError, which is raised by _search_regex if it can't extract the info.
Philipp Hagemeister f4d96df0f1 Extend with --max-quality support
Philipp Hagemeister 9d4660cab1 [generic] Support embedded vimeo videos ()
Jaime Marquínez Ferrándiz d7e66d39a0 Add an extractor for internetvideoarchive.com videos
It's used by videodetective.com
Jaime Marquínez Ferrándiz 4eb7f1d12e FFmpegPostProcessor: print the command line used if the --verbose option is given
Jaime Marquínez Ferrándiz 2e1fa03bf5 Add an extractor for video.nhl.com (closes )
Philipp Hagemeister b24f347190 Merge branch 'download-archive'
Conflicts:
	youtube_dl/YoutubeDL.py
	youtube_dl/__init__.py
Philipp Hagemeister 41e8bca4d0 [viddler] Add basic support (Fixes )
Philipp Hagemeister c1c9a79c49 Add basic --download-archive option
Often, users want to be able to download only videos they haven't seen before, despite the video files having been deleted or moved in the mean time.
When --download-archive FILE is given, the extractor and ID of every download is recorded in the specified file. If it is already present, the video in question is skipped.
Philipp Hagemeister c38b1e776d [youtube] Simplify cache_dir code ()
Philipp Hagemeister e0df6211cc Restore accidentally deleted commits
That's what happens if you let Windows machines write :(
Philipp Hagemeister 7459e3a290 Always correct encoding when writing to sys.stderr (Fixes )
Jaime Marquínez Ferrándiz 19e1d35989 [mixcloud] Rewrite extractor (fixes )
Jaime Marquínez Ferrándiz a921f40799 [ustream] Simplify channel extraction
the ChannelParser has been moved to a new function in utils get_meta_content
Instead of the SocialStreamParser now it uses a regex
Jaime Marquínez Ferrándiz 545434670b Add an extractor for orf.at (closes )
Make find_xpath_attr also accept numbers in the value
Philipp Hagemeister c257baff85 Merge remote-tracking branch 'rzhxeo/youporn-hd'
Conflicts:
	youtube_dl/utils.py
rzhxeo cba892fa1f Add intlist_to_bytes to utils.py
Philipp Hagemeister 48ea9cea77 Allow changes to run under Python 3
Philipp Hagemeister c496ca96e7 Fix platform name in Python 2 with --verbose (Closes )
Philipp Hagemeister aa3e950764 Tolerate junk at the end of gzip-compressed content ()
Jaime Marquínez Ferrándiz 0e283428f7 HTTPError is in urllib.error in Python 3, not in http.error
Philipp Hagemeister 2eabb80254 [addanime] improve
Philipp Hagemeister acebc9cd6b Revert "Install our own HTTPS handler as well ()"
This reverts commit 36399e8576 and fixes .
Philipp Hagemeister 36399e8576 Install our own HTTPS handler as well ()
Jaime Marquínez Ferrándiz d4051a8e05 Add a post processor for embedding subtitles in mp4 videos (closes )
Philipp Hagemeister 298f833b16 Note update possibility on errors (thanks @chbrown, )
Jaime Marquínez Ferrándiz bba12cec89 Add an extractor for videofy.me (closes )
Also modify find_xpath_attr to accept values with spaces like for id="HQ on"
Jaime Marquínez Ferrándiz cbdbb76665 Use determine_ext when saving the thumbnail
Urls that contain a query produced filenames with wrong extensions
Jaime Marquínez Ferrándiz 6543f0dca5 BrightcoveIE: Use parse_qs to extract the fields of the query (closes )
Add a compat_urlparse to utils.
Philipp Hagemeister 5de3ece225 [brightcove] fix on Python 2.6
Philipp Hagemeister 59ae56fad5 Add helper function find_path_attr
Philipp Hagemeister 73e79f2a1b [3sat] Add support (Fixes )
Philipp Hagemeister 9a82b2389f Do not show bug report for errors that are to be expected (Closes )
Philipp Hagemeister a3c776203f Rewrote error message a bit to clarify
M.Yasoob Ullah Khalid 53f350c165 Changed the error message.
I changed the ExtractorError from ```msg = msg + u'; please report this issue on http://yt-dl.org/bug'``` to ```msg = msg + u'; please report this issue on http://yt-dl.org/bug with the complete output by running the same command with --verbose flag'```
Hopefully this will tell the users to report bugs with the complete output.
Filippo Valsorda 98bcd2834a improve generic and encrypted signature error messages
Filippo Valsorda d5979c5d55 do not ask the user to report network errors
Filippo Valsorda f5a290eed9 print "please report this issue on GitHub" on every ExtractorError
Filippo Valsorda 468e2e926b implement fallbacks and defaults in _search_regex
Filippo Valsorda b31756c18e Python 2 compat fixes for MyVideo.de rtmpdump downloads
Philipp Hagemeister f45c185fa9 Do not re-encode / to # if / is a platform separator, and correctly handle permission errors (Fixes )
Philipp Hagemeister ea6d901e51 Add --no-check-certificate ()
Philipp Hagemeister 4539dd30e6 twitch.tv chapters (): print out start and end time
Jaime Marquínez Ferrándiz 37254abc36 Allow to use relative dates in the format (now|today)[+-][0-9](day|week|month|year)(s)? (Closes )
Also fix DateRange not accepting ranges of one day.
Jaime Marquínez Ferrándiz bf50b0383e Fix some IEs that didn't return the uploade_date in the YYYYMMDD format
Create a function unified_strdate in utils.py to fix these problems
Jaime Marquínez Ferrándiz bd55852517 Allow to select videos to download by their upload dates (related )
Only absolute dates.
Filippo Valsorda e3700fc9e4 Merge pull request from rg3/retry
Exception stacking and test retry
Filippo Valsorda 7decf8951c fix FunnyOrDieIE, MyVideoIE, TEDIE
Filippo Valsorda 898280a056 use sys.stdout.buffer only on Python3
Chirantan Ekbote 1ee9778405 Use sys.stdout.buffer instead of sys.stdout
sys.stdout defaults to text mode, we need to use the underlying buffer
instead when writing binary data.

Signed-off-by: Chirantan Ekbote <chirantan.ekbote@gmail.com>
Filippo Valsorda 8cc83b8dbe Bubble up all the stack of exceptions and retry download tests on timeout errors
Philipp Hagemeister 8271226a55 Fix --match-title and --reject-title decoding (Closes )
Philipp Hagemeister 3b024e17af Work around buggy HTML Parser in Python < 2.7.3 (Closes )
Philipp Hagemeister 6df40dcbe0 Guard against sys.getfilesystemencoding() == None ()
Philipp Hagemeister 335959e778 Correct Blip.tv on 2.6, where HTTP headers are case-sensitive (wtf?)
Philipp Hagemeister 3446dfb7cb Proper support for changing User-Agents from IEs
Philipp Hagemeister 7851b37993 --recode-video option (Closes )
Philipp Hagemeister 01951dda7a Make ExtractorError usable for other causes
Philipp Hagemeister 1c256f7047 ExtractorError for errors during extraction
Filippo Valsorda d5ed35b664 moved updating code to update.py
Filippo Valsorda f427df17ab some fixes, pulled the codename from the code
Filippo Valsorda cb6ff87fbb The new updates system, relies on gh-pages, secured by RSA, uses external web servers
Filippo Valsorda 6b3aef80ce better Vimeo tests; fixed a couple of VimeoIE fields
Filippo Valsorda 056d857571 refactor YouTube subtitles code, it was ugly (my bad)
Nick Daniels 43e8fafd49 Refactor IDParser to search for elements by any attribute not just ID
Philipp Hagemeister f4bfd65ff2 Correct JSON writing (Closes )
Philipp Hagemeister 5910e210f4 Fix --extract-audio on Python 3
Philipp Hagemeister 0f8d03f81c Let YoutubeDLHandler (transparent gzip) handle HTTPS URLs as well (Needed for )
Philipp Hagemeister 796173d08b Keep video IDs verbatim if possible (Closes )
Philipp Hagemeister 627dcfff39 Restrict more characters (Closes )
Philipp Hagemeister 799c076384 collegehumor: able to download a single f4f file (not yet playable)
Philipp Hagemeister 59ae15a507 Convert all tabs to 4 spaces (PEP8)
Philipp Hagemeister 40b35b4aa6 hack for apparently broken parse_qs in python2
Philipp Hagemeister 0f00efed4c Woooohooo! python3 youtube_dl BaW_jenozKc -t works!
Philipp Hagemeister e6137fd61d Remove superfluous encodings
Philipp Hagemeister 8cd10ac4ef Fix printing title etc.
Philipp Hagemeister 5bd9cc7a6a typo
Philipp Hagemeister 73dce4b2e4 Import from the correct module
Philipp Hagemeister 9f37a95941 Py2/3 parse_qs compatibility
Philipp Hagemeister 348d0a7a18 Py2/3 compatibility for http.client
Philipp Hagemeister 03f9daab34 Use io.BytesIO instead of StringIO
Philipp Hagemeister a8156c1d2e Python 3 version of HTMLParser
Philipp Hagemeister 3e669f369f Py3 compat for unichr and htmlentitydefs
Philipp Hagemeister da779b4924 Fall back to urllib instead of urllib2 for Python 3 urllib.parse
Philipp Hagemeister 89fb51dd2d Remove ur references for Python 3.3 support
Philipp Hagemeister 01ba00ca42 Prepare urllib references for 2/3 compatibility
Philipp Hagemeister e08bee320e Use except .. as everywhere ()
Philipp Hagemeister 96731798db Rename util.u to util.compat_str
Philipp Hagemeister dd109dee8e Remove mentions of unicode
Philipp Hagemeister b514df2034 Clean up with the help of pep8
Philipp Hagemeister 0969bdd305 unify spacing
Philipp Hagemeister 1a9c655e3b Merge remote-tracking branch 'Asido/master'
Philipp Hagemeister dffe658bac Remove exclamation mark in --restrict-filenames mode
Philipp Hagemeister 46cbda0be4 Minor filename encoding improvement in a common case
Philipp Hagemeister 56781d3d2e Switch back to underline for invalid characters, and make restricted ASCII-only
Philipp Hagemeister 240089e5df remove accidental remnants
Philipp Hagemeister 1c469a9480 New optoin --restrict-filenames
Philipp Hagemeister 92b91c1878 Use character instead of byte strings
Philipp Hagemeister 51937c0869 Add some parentheses around print for
Filippo Valsorda 5d40a470a2 quiet the HTMLParser debug info - closes
Filippo Valsorda 42cb53fcfa modified filename escaping to a "smarter" one
Philipp Hagemeister 38612b4edc update default UA string (Closes )
Filippo Valsorda 9bb8dc8e42 Python 2.6 compatibility fix. Thanks @Jamesc359 - closes
Arvydas Sidorenko bae611f216 Simplified preferredencoding()
Not sure what is the point to use yield to return encoding, thus
it will simplify the whole function.

Signed-off-by: Arvydas Sidorenko <asido4@gmail.com>
chocolateboy 6ab92c8b62 don't corrupt stdout (-o -) in verbose mode
Filippo Valsorda 2c288bda42 reorganized the titles sanitizing: now title is the untouched title
and stitle is created in process_info() and is cross-filesystem sanitized by sanitize_filename();
closes 
Filippo Valsorda 0b8c922da9 Introduced Trouble(Exception) for more elegant non-fatal errors handling
Filippo Valsorda 921a145592 dropped the support for Python 2.5
let's elaborate the decision: Python 2.5 is a 6 years old release
and "under the current release policy, no security issues in Python
2.5 will be fixed anymore" (!!); also, it doesn't support the new
zipfile distribution format.
Filippo Valsorda 9beb5af82e some HTMLParser bugfixes
Filippo Valsorda 9e6dd23876 merged unescapeHTML branch; removed lxml dependency
Filippo Valsorda - Campagna d11d05d07a better naming for the sub-modules