Commit Graph

901 Commits

Author SHA1 Message Date
Philipp Hagemeister 95464f14d1 Credit @yasoob for IE 2013-05-03 20:08:16 +02:00
Philipp Hagemeister c34407d16c Simplify RedTube 2013-05-03 20:07:35 +02:00
M.Yasoob Ullah Khalid 5e34d2ebbf Moved redtube info extractor to the end 2013-05-03 23:57:16 +06:00
M.Yasoob Ullah Khalid ecd5fb49c5 added redtube.com in InfoExtractors (2nd pull request with the required amindments)
added redtube.com in InfoExtractors (2nd pull request with the required amindments). Now this script can also download redtube.com videos
2013-05-03 22:44:34 +06:00
Jaime Marquínez Ferrándiz 2e2038dc35 TEDIE: report the correct talk title when a link with the language code is given 2013-05-02 18:28:07 +02:00
Jaime Marquínez Ferrándiz 46bfb42258 InfoExtractors: use _download_webpage in more IEs
IEs without tests are intact.
2013-05-02 18:18:27 +02:00
Jaime Marquínez Ferrándiz feecf22511 InfoExtractors: fix some regular expressions where dots weren't escaped 2013-05-02 13:39:56 +02:00
Jaime Marquínez Ferrándiz 4c4f15eb78 Merge pull request #815 from JohnyMoSwag/master
Update for new source links on worldstarhiphop.com
2013-05-02 13:23:32 +02:00
Jaime Marquínez Ferrándiz 104ccdb8b4 TumblrIE: fix title matching 2013-05-02 13:12:41 +02:00
Johny Mo Swag 6ccff79594 Small update for additon of new video source links 2013-05-01 20:30:14 -07:00
Jaime Marquínez Ferrándiz aed523ecc1 Add BandcampIE (closes #568) 2013-05-01 15:55:46 +02:00
Philipp Hagemeister d496a75d0a release 2013.05.01 2013-05-01 14:07:23 +02:00
Philipp Hagemeister 11d9224e3b add --write-thumbnail option to download thumbnail (Suggested by `) 2013-05-01 14:04:33 +02:00
Philipp Hagemeister 6cd657f9f2 release 2013.04.31 2013-04-30 19:50:20 +02:00
Philipp Hagemeister 4ae9e55822 Correctly clear the line before writing a new status line 2013-04-30 19:42:58 +02:00
Philipp Hagemeister dbc50fdf82 Fix help for --proxy 2013-04-30 18:27:54 +02:00
Philipp Hagemeister b1d2ef9255 release 2013.04.30 2013-04-30 18:00:56 +02:00
Philipp Hagemeister 5fb16555af --proxy option 2013-04-30 17:57:13 +02:00
Jaime Marquínez Ferrándiz fe348844d9 SoundcloudSetIE: Use upload_date in the unified format (fixes #812) 2013-04-29 23:57:36 +02:00
Jaime Marquínez Ferrándiz 767e00277f Use report_warning when a not working IE will be uses 2013-04-28 17:12:07 +02:00
Philipp Hagemeister 6ce533a220 release 2013.04.28 2013-04-28 16:32:05 +02:00
Philipp Hagemeister 08b2ac745a Default to --title (Fixes #499) 2013-04-28 16:26:11 +02:00
Philipp Hagemeister 46a127eecb Fix print_notes 2013-04-28 16:21:29 +02:00
Philipp Hagemeister fc63faf070 release 2013.04.27 2013-04-28 15:53:14 +02:00
Philipp Hagemeister 434aca5b14 Automatically set HTTPS proxy if given (Fixes #805) 2013-04-28 15:41:05 +02:00
Jaime Marquínez Ferrándiz 37254abc36 Allow to use relative dates in the format (now|today)[+-][0-9](day|week|month|year)(s)? (Closes #137)
Also fix DateRange not accepting ranges of one day.
2013-04-28 11:39:37 +02:00
Philipp Hagemeister a11ea50319 Re-enable Dailymotion (tests pass) 2013-04-27 21:53:21 +02:00
Philipp Hagemeister 81df121dd3 Merge branch 'master' of github.com:rg3/youtube-dl 2013-04-27 20:26:42 +02:00
Philipp Hagemeister 50f6412eb8 Rename soundcloud to soundcloud:set 2013-04-27 20:12:46 +02:00
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
2013-04-27 15:14:20 +02:00
Jaime Marquínez Ferrándiz bd55852517 Allow to select videos to download by their upload dates (related #137)
Only absolute dates.
2013-04-27 14:01:55 +02:00
Jaime Marquínez Ferrándiz 4c9f7a9988 SteamIE: accept urls with agecheck 2013-04-27 11:03:34 +02:00
Jaime Marquínez Ferrándiz aba8df23ed YoutubePlaylistIE: don't crash with empty lists (related #808)
The playlist_title wasn't initialized.
2013-04-27 10:41:52 +02:00
Jaime Marquínez Ferrándiz 3820df0106 Merge pull request #801 from expleo/add_referer_support 2013-04-26 19:34:32 +02:00
Joe Frambach e74c504f91 Dont delete source file when source file and post-processed file are the same 2013-04-24 21:59:10 +00:00
Jaime Marquínez Ferrándiz fa70605db2 IEs: clean __init__ methods
They are not needed
2013-04-24 23:05:43 +02:00
Jaime Marquínez Ferrándiz 0d173446ff InfoExtractors: use report_download_webpage in _request_webpage
Allows to show the warning when falling back on GenericIE
2013-04-24 22:11:57 +02:00
Jaime Marquínez Ferrándiz 320e26a0af Clean duplicate method report_download_webpage in InfoExtractors 2013-04-24 22:02:20 +02:00
Jaime Marquínez Ferrándiz a3d689cfb3 Fix InfoQ 2013-04-24 21:16:10 +02:00
Bjorn Heesakkers 28535652ab Adds support for passing a referer. 2013-04-24 13:56:04 +02:00
Philipp Hagemeister 7b670a4483 YouTube: Fall back to <meta> description if video is rated (Fixes #800) 2013-04-23 13:54:17 +02:00
Jaime Marquínez Ferrándiz 69fc019f26 YoutubeIE when no description is found use an empty unicode string (closes #800) 2013-04-23 12:24:08 +02:00
Jaime Marquínez Ferrándiz 613bf66939 More calls to trouble changed to report_error 2013-04-23 11:31:37 +02:00
Jaime Marquínez Ferrándiz 9edb0916f4 Disable colored messages in Windows (related #794) 2013-04-23 11:09:22 +02:00
Jaime Marquínez Ferrándiz f4b659f782 Document order of preference for format selection (closes #798) 2013-04-23 10:33:54 +02:00
Philipp Hagemeister c70446c7df Merge branch 'master' of github.com:rg3/youtube-dl 2013-04-22 23:15:15 +02:00
Philipp Hagemeister c76cb6d548 Correct indentation 2013-04-22 23:15:05 +02:00
Philipp Hagemeister 71f37e90ef Merge pull request #797 from AI0867/patch-1
Use standard unit symbols in format_bytes
2013-04-22 14:13:52 -07:00
Philipp Hagemeister 75b5c590a8 Do not read configuration files if explicit arguments are given by a host program (#792) 2013-04-22 23:05:14 +02:00
Jaime Marquínez Ferrándiz 4469666780 Merge pull request #792 from fp7/master
Parameters as arguments to main
2013-04-22 13:44:05 -07:00
Jaime Marquínez Ferrándiz c15e024141 TumblrIE
I haven't found many videos to test, so it may not work for all.
2013-04-22 21:27:27 +02:00
Philipp Hagemeister 8cb94542f4 release 2013.04.22 2013-04-22 20:01:56 +02:00
Philipp Hagemeister c681a03918 Fix --list-formats (Closes #799) 2013-04-22 19:51:56 +02:00
Finn Petersen 30f2999962 Added parenthesis for explicity 2013-04-22 10:15:58 +02:00
Jaime Marquínez Ferrándiz 74e3452b9e Add playlist and playlist_index to the help string for the output option
Also split the help string in different lines to make editing easier.
2013-04-22 10:06:07 +02:00
Jaime Marquínez Ferrándiz 9e1cf0c200 SteamIE returns a playlist
With the game name as title.
2013-04-21 22:05:21 +02:00
Jaime Marquínez Ferrándiz e11eb11906 Allow to download videos with age check from Steam
Also move method report_age_confirmation to the base IE class.
2013-04-21 21:56:13 +02:00
Philipp Hagemeister c04bca6f60 release 2013.04.21 2013-04-21 12:52:45 +02:00
Alexander van Gessel b0936ef423 Use standard unit symbols in format_bytes 2013-04-21 02:38:37 +03:00
Jaime Marquínez Ferrándiz 41a6eb949a Clean duplicate method report_extraction in InfoExtractors
A lot of IEs had implemented the method in the same way.
2013-04-20 21:12:29 +02:00
Jaime Marquínez Ferrándiz f17ce13a92 Write the method to_screen in InfoExtractor (related #608)
Except the ones in youtube subtypes (user, channels ..) all calls to _downloader.to_screen has been changed.
The calls not prefixed with the IE name hasn't been touched.
2013-04-20 20:55:40 +02:00
Jaime Marquínez Ferrándiz 8c416ad29a Remove calls to _downloader.download in Youtube searchs
Instead, return the urls of the videos.
2013-04-20 19:22:45 +02:00
Jaime Marquínez Ferrándiz c72938240e Get the title of Youtube playlists 2013-04-20 18:57:05 +02:00
Jaime Marquínez Ferrándiz e905b6f80e TEDIE can now return a playlist 2013-04-20 13:31:21 +02:00
Jaime Marquínez Ferrándiz 6de8f1afb7 Allows to specify which IE should be used for extracting info for a result of type url 2013-04-20 12:58:35 +02:00
Jaime Marquínez Ferrándiz 9341212642 Create a function in InfoExtractors that returns the InfoExtractor class with the given name 2013-04-20 12:42:57 +02:00
Jaime Marquínez Ferrándiz f7a9721e16 Fix some metacafe videos, closes #562 2013-04-20 12:06:58 +02:00
Jaime Marquínez Ferrándiz 089e843b0f Use _download_webpage in MetacafeIE 2013-04-20 11:40:05 +02:00
ispedals 5a8d13199c Fix YoutubeChannelIE
- urls with query parameters now match
- fixes regex for identifying videos
- fixes pagination
2013-04-19 18:05:35 -04:00
Jaime Marquínez Ferrándiz dce9027045 Merge branch 'extract_info_rewrite' 2013-04-19 21:57:08 +02:00
Philipp Hagemeister feba604e92 Fix playlists with size 50i ∀ i∉ℕ (Closes #782) 2013-04-18 07:28:43 +02:00
Philipp Hagemeister d22f65413a release 2013.04.18 2013-04-18 06:29:32 +02:00
Philipp Hagemeister 0599ef8c08 Limit titles to 200 characters (Closes #789) 2013-04-18 06:27:11 +02:00
Philipp Hagemeister bfdf469295 Fix FunnyOrDie extraction for a special video (#789) 2013-04-18 06:21:46 +02:00
Philipp Hagemeister 32c96387c1 Fix facebook IE 2013-04-18 04:41:48 +02:00
Philipp Hagemeister c8c5443bb5 Revert "disable YT ratelimit; this should enable to max out the connection bandwidth"
Although cool, that seems to break a lot of youtube videos.

This reverts commit a60b854d90.
2013-04-17 23:22:25 +02:00
Filippo Valsorda a60b854d90 disable YT ratelimit; this should enable to max out the connection bandwidth 2013-04-17 19:48:35 +02:00
Finn Petersen b8ad4f02a2 Arguments as parameter to function _real_main so it can be used programmatically 2013-04-16 19:26:48 +02:00
Jaime Marquínez Ferrándiz d281274bf2 Add a playlist_index key to the info_dict, can be used in the output template 2013-04-16 15:13:29 +02:00
Philipp Hagemeister b625bc2c31 release 2013.04.11 2013-04-11 18:42:57 +02:00
Philipp Hagemeister f4381ab88a Fix keek title extraction 2013-04-11 18:39:13 +02:00
Philipp Hagemeister 855703e55e Option to dump intermediate pages 2013-04-11 18:31:35 +02:00
Philipp Hagemeister 927c8c4924 Use download_webpage in youtube IE 2013-04-11 18:18:15 +02:00
Philipp Hagemeister e0fee250c3 Fix default for variable-size autonumbering 2013-04-11 17:07:55 +02:00
Philipp Hagemeister 72ca05016d Merge remote-tracking branch 'sagittarian/vimeo-no-desc' 2013-04-11 10:56:01 +02:00
Philipp Hagemeister 844d1f9fa1 Removed overly verbose options and arguments (Should be obvious from the previous lines) 2013-04-11 10:54:37 +02:00
Stanislav Kupryakhin 213c31ae16 Added option --autonumber-size:
Specifies the number of digits in %(autonumber)s when it is present in output filename template or --autonumber option is given
2013-04-11 10:53:57 +02:00
Philipp Hagemeister 04f3d551a0 Merge remote-tracking branch 'sagittarian/resolve-symlinks' 2013-04-11 10:51:13 +02:00
Philipp Hagemeister e8600d69fd Credit @catch22 for ARD IE 2013-04-11 10:48:37 +02:00
Philipp Hagemeister b03d65c237 Minor improvements for ARD IE 2013-04-11 10:47:21 +02:00
Adam Mesha 8743974189 Resolve the symlink if __main__.py is invoke as a symlink. 2013-04-11 08:02:17 +03:00
Adam Mesha dc36bc9434 Fix bug when the vimeo description is empty on Python 2.x. 2013-04-11 07:27:04 +03:00
Jaime Marquínez Ferrándiz bce878a7c1 Implement the playlist/start options in FileDownloader
It makes it available for all the InfoExtractors
2013-04-10 14:32:03 +02:00
Jaime Marquínez Ferrándiz 532d797824 In MetacafeIE return a url if YoutubeIE should do the job 2013-04-10 00:06:03 +02:00
Jaime Marquínez Ferrándiz 146c12a2da Change the order for extracting/downloading
Now it gets a video info and directly downloads it, the it pass to the next video founded.
2013-04-10 00:05:04 +02:00
Jaime Marquínez Ferrándiz d39919c03e Add progress counter for playlists
Closes #276
2013-04-09 13:45:52 +02:00
Michael Walter df2dedeefb added ARD InfoExtractor (german state television) 2013-04-07 15:23:48 +02:00
Michael Walter adb029ed81 added --playpath/-y support to RTMP downloads (via 'play_path' entry in 'info_dict') 2013-04-07 15:17:36 +02:00
Ricardo Garcia 43ff1a347d Change rg3.github.com to rg3.github.io almost everywhere 2013-04-06 10:46:17 +02:00
Jaime Marquínez Ferrándiz 14294236bf Merge branch 'master' into extract_info_rewrite 2013-04-05 12:39:51 +02:00
Philipp Hagemeister c2b293ba30 release 2013.04.03 2013-04-03 19:43:53 +02:00
Filippo Valsorda f33154cd39 Merge pull request #764 from jaimeMF/subtitles_not_found
Fix crash when subtitles are not found
2013-03-31 19:02:18 -07:00
Jaime Marquínez Ferrándiz bafeed9f5d Don't crash in FileDownloader if subtitles couldn't be found and errors are ignored 2013-03-31 12:21:35 +02:00
Jaime Marquínez Ferrándiz ef767f9fd5 Fix crash when subtitles are not found and the option --all-subs is given 2013-03-31 12:19:13 +02:00
Jaime Marquínez Ferrándiz bc97f6d60c Use report_error in subtitles error handling 2013-03-31 12:10:12 +02:00
Filippo Valsorda fa41fbd318 don't catch YT user URLs in YoutubePlaylistIE (fix #754, fix #763) 2013-03-31 03:02:49 +02:00
Jaime Marquínez Ferrándiz 6a205c8876 More fixes on subtitles errors handling 2013-03-30 14:17:12 +01:00
Jaime Marquínez Ferrándiz 0fb3756409 Fix crash when subtitles are not found 2013-03-30 14:11:33 +01:00
Philipp Hagemeister 1bf2801e6a release 2013.03.29 2013-03-29 21:22:57 +01:00
Filippo Valsorda e3700fc9e4 Merge pull request #736 from rg3/retry
Exception stacking and test retry
2013-03-29 09:01:27 -07:00
Filippo Valsorda b693216d8d Merge pull request #752 from dodo/master
SoundcloudSetIE
2013-03-29 08:40:22 -07:00
Filippo Valsorda 46b9d8295d Merge pull request #730 by @JohnyMoSwag
Support for Worldstarhiphop.com
2013-03-29 16:14:49 +01:00
Filippo Valsorda 7decf8951c fix FunnyOrDieIE, MyVideoIE, TEDIE 2013-03-29 15:59:13 +01:00
Filippo Valsorda 1f46c15262 fix SpiegelIE 2013-03-29 15:31:38 +01:00
Filippo Valsorda 0cd358676c Rebased, fixed and extended LiveLeak.com support
close #757 - close #761
2013-03-29 15:13:24 +01:00
kkalpakloglou 43113d92cc Update InfoExtractors.py 2013-03-29 14:23:09 +01:00
Jaime Marquínez Ferrándiz 7eab8dc750 Pass the playlist info_dict to process_info
the playlist value can be used in the output template
2013-03-29 12:32:42 +01:00
Philipp Hagemeister 95506f1235 Merge remote-tracking branch 'jaimeMF/color_error_messages' 2013-03-29 00:25:48 +01:00
Philipp Hagemeister a91556fd74 Add a note on MaxDownloadsReached (#732, thanks to CBGoodBuddy) 2013-03-29 00:20:13 +01:00
Philipp Hagemeister 1447f728b5 Merge branch 'master' of github.com:rg3/youtube-dl 2013-03-29 00:06:48 +01:00
Jaime Marquínez Ferrándiz d2c690828a Add title and id to playlist results
Not all IE give both. They are not used yet.
2013-03-28 13:39:00 +01:00
Jaime Marquínez Ferrándiz cfa90f4adc Merge branch 'master' into extract_info_rewrite 2013-03-28 13:20:33 +01:00
Filippo Valsorda 898280a056 use sys.stdout.buffer only on Python3 2013-03-28 13:13:03 +01:00
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>
2013-03-27 15:57:11 -04:00
dodo 5011cded16 SoundcloudSetIE
info extractor for soundcloud sets
2013-03-24 02:24:07 +01:00
Filippo Valsorda f10b2a9c14 fix KeekIE 2013-03-20 12:13:52 +01:00
Filippo Valsorda 5cb3c0b319 Merge pull request #699 by @iemejia
Removed innecesary function to convert subtitles, improved use of the youtube api
2013-03-20 11:35:55 +01:00
Filippo Valsorda b9fc428494 add '--write-srt' and '--srt-lang' aliases for backwards compatibility 2013-03-20 11:29:07 +01:00
Ismael Mejia c0ba104674 Fixed typo in error message when no subtitles were available. 2013-03-20 08:41:54 +01:00
Ismael Mejia 2a4093eaf3 Added new option '--list-subs' to show the available subtitle languages 2013-03-20 08:41:54 +01:00
Ismael Mejia 9e62bc4439 Added new option '--sub-format' to choose the format of the subtitles to downloade (defaut=srt) 2013-03-20 08:41:54 +01:00
Ismael Mejia 553d097442 Refactor subtitle options from srt to the more generic 'sub'.
In order to be more consistent with different subtitle formats.
From:
* --write-srt to --write-sub
* --only-srt to --only-sub
* --all-srt to --all-subs
* --srt-lang to --sub-lang'

Refactored also all the mentions of srt for sub in all the source code.
2013-03-20 08:41:53 +01:00
Ismael Mejia ae608b8076 Added new option '--all-srt' to download all the subtitles of a video.
Only works in youtube for the moment.
2013-03-20 08:41:53 +01:00
Philipp Hagemeister c397187061 Spiegel: Support hash at end of URL 2013-03-16 23:52:17 +01:00
Philipp Hagemeister e32b06e977 Spiegel IE 2013-03-12 01:08:54 +01:00
Philipp Hagemeister 8c42c506cd Add configuration to -v output 2013-03-12 00:10:05 +01:00
Filippo Valsorda 8cc83b8dbe Bubble up all the stack of exceptions and retry download tests on timeout errors 2013-03-09 10:05:43 +01:00
Johny Mo Swag 08ec0af7c6 catch fatal error 2013-03-08 22:48:05 -08:00
Johny Mo Swag 3b221c5406 removed str used for other project. 2013-03-08 22:39:45 -08:00
Philipp Hagemeister 3d3423574d Fix Unicode handling GenericIE (Fixes #734) 2013-03-08 20:47:06 +01:00
Philipp Hagemeister e5edd51de4 Clear up error messages (#734) 2013-03-08 20:12:05 +01:00
Johny Mo Swag 64c78d50cc working - worldstarhiphop IE
Support for WorldStarHipHop
2013-03-07 16:27:21 -08:00
Johny Mo Swag b3bcca0844 clean up 2013-03-07 15:39:17 -08:00
Johny Mo Swag 61e40c88a9 fixed typo 2013-03-06 21:14:46 -08:00
Johny Mo Swag 40634747f7 Support for WorldStarHipHop.com 2013-03-06 21:09:55 -08:00
Tim Douglas 47dcd621c0 Escapist videos are acutally .mp4, not .flv 2013-03-06 12:46:45 -05:00
Jaime Marquínez Ferrándiz a0d6fe7b92 When a redirect is found return the new url using the new style 2013-03-05 22:33:32 +01:00
Jaime Marquínez Ferrándiz c9fa1cbab6 More trouble calls changed in InfoExtractors.py
The calls with the message starting with 'WARNING' have been changed to report_warning instead of report_error
2013-03-05 21:13:17 +01:00
Jaime Marquínez Ferrándiz 8a38a194fb Add auxiliary methods to InfoExtractor to set the '_type' key and use them for some playlist IEs 2013-03-05 20:55:48 +01:00
Jaime Marquínez Ferrándiz 6ac7f082c4 `extract_info` now expects `ie.extract` to return a list in the format proposed in issue 608.
Each element should have a '_type' key specifying if it's a video, an url or a playlist.
`extract_info` will process each element to get the full info
2013-03-05 20:14:32 +01:00
Jaime Marquínez Ferrándiz f6e6da9525 Use extract_info in BlipTV User and Youtube Channel 2013-03-05 12:26:18 +01:00
Jaime Marquínez Ferrándiz 597cc8a455 Use extract_info in YoutubePlaylist and YoutubeSearch 2013-03-05 11:58:01 +01:00
Jaime Marquínez Ferrándiz 3370abd509 Merge branch 'master' into extract_info_rewrite 2013-03-04 22:25:46 +01:00
Jaime Marquínez Ferrándiz 631f73978c Add a method for extracting info from a list of urls 2013-03-04 22:16:42 +01:00
Jaime Marquínez Ferrándiz e5f30ade10 Use report_error in InfoExtractors.py
Some calls haven't been changed
2013-03-04 15:56:14 +01:00
Jaime Marquínez Ferrándiz 6622d22c79 Use report_error in FileDownloader.py 2013-03-04 11:47:58 +01:00
Jaime Marquínez Ferrándiz 4e1582f372 Use red color when printing error messages 2013-03-04 11:27:25 +01:00
Philipp Hagemeister 967897fd22 Fix Python 3 errors with rmtp downloads 2013-03-03 22:38:38 +01:00
Philipp Hagemeister f918ec7ea2 Clarify rate limit documentation (Closes #723) 2013-03-03 22:35:26 +01:00
Philipp Hagemeister 7ae153ee9c Remove tweetreel - it has shut down 2013-03-03 22:15:06 +01:00
Philipp Hagemeister f7b567ff84 Use proper urlparse functions and simplify a bit 2013-03-03 22:09:44 +01:00
Philipp Hagemeister f2e237adc8 Merge remote-tracking branch 'jcarlosgarciasegovia/master' 2013-03-03 22:04:06 +01:00
Jaime Marquínez Ferrándiz 2e5457be1d Use report_warning in InfoExtractors 2013-03-02 11:24:07 +01:00
Juan Carlos Garcia Segovia 7f9d41a55e Allow downloading http://blip.tv/play/ embeded URLs 2013-03-01 10:22:16 +00:00
Jaime Marquínez Ferrándiz 8207626bbe Use color when printing warning messages 2013-02-28 22:07:29 +01:00
Jaime Marquínez Ferrándiz df8db1aa21 Create extract_info method 2013-02-26 23:33:58 +01:00
Philipp Hagemeister 691db5ba02 Don't be too clever (Fixes Python 3) 2013-02-26 22:03:43 +01:00
Philipp Hagemeister 6bf48bd866 Merge remote-tracking branch 'origin/API_YT_playlists' 2013-02-26 19:58:04 +01:00
Filippo Valsorda 89de9eb125 Modified Youtube video/playlist matching; fixes #668; fixes #585 2013-02-26 19:06:41 +01:00
Filippo Valsorda 6324fd1d74 Switch YTPlaylistIE to API (relevant: #586); fixes #651; fixes #673; fixes #661 2013-02-26 19:06:28 +01:00
Juan M 9e07cf2955 [YT Search] No results if items is not in response
When a query results of 0 items, the key items is not present in the
api_response dictionary, raising a KeyError.

Intead, look for the key and call trouble if it's not present.
2013-02-26 18:06:43 +01:00
Philipp Hagemeister f03b88b3fb Merge remote-tracking branch 'joksnet/not_keep_video_message' 2013-02-25 00:35:12 +01:00
Philipp Hagemeister 97d0365f49 release 2013.02.25 2013-02-25 00:28:19 +01:00
Philipp Hagemeister 12887875a2 Fix typo 2013-02-25 00:22:55 +01:00
Philipp Hagemeister 450e709972 Formalize URL creation (prepare for some cleanup in blip.tv:users) 2013-02-24 23:23:50 +01:00
Philipp Hagemeister 9befce2b8c Merge remote-tracking branch 'joksnet/ytsearch_decode_request' 2013-02-24 23:14:34 +01:00
Philipp Hagemeister f82b28146a Merge remote-tracking branch 'jaimeMF/TED' 2013-02-24 00:59:22 +01:00
Philipp Hagemeister 4dc72b830c Merge remote-tracking branch 'jaimeMF/Steam' 2013-02-24 00:59:03 +01:00
Philipp Hagemeister ea05129ebd release 2013.02.22 2013-02-24 00:47:08 +01:00
Juan M 35d217133f Message for delete video it's not an error.
When using youtube-dl from another python script with the quiet option
on, and a post procesor for extract the audio. The message of deleting
video shows in the first script logs (as it goes to stderr).

There is no way to keep this quiet as it's treated as an error, even if,
for me, it's not.
2013-02-23 22:52:52 +01:00
Juan M d1b7a24354 Decode the data requested to the api in utf-8. 2013-02-23 22:47:22 +01:00
Jaime Marquínez Ferrándiz c85538dba1 TED: get thumbnails 2013-02-23 17:27:49 +01:00
Jaime Marquínez Ferrándiz 60bd48b175 Steam: get thumbnails 2013-02-23 16:48:15 +01:00
Philipp Hagemeister 4be0aa3539 release 2012.02.22 2013-02-22 16:41:36 +01:00
Philipp Hagemeister 3bf79c752e Print *all* release notes 2013-02-22 00:36:23 +01:00
Ismael Mejia cdb130b09a Added new option '--only-srt' to download only the subtitles of a video
Improved option '--srt-lang'
 - it shows the argument in case of missing subtitles
 - added language suffix for non-english languages (e.g. video.it.srt)
2013-02-21 22:12:36 +01:00
Ismael Mejia 2e5d60b7db Removed conversion from youtube closed caption format to srt since youtube api supports the 'srt' format 2013-02-21 20:51:35 +01:00
Philipp Hagemeister 8271226a55 Fix --match-title and --reject-title decoding (Closes #690) 2013-02-21 17:09:39 +01:00
Philipp Hagemeister 1013186a17 Also check for JSLoader of JWSPlayer (thanks to @maximeg, Closes #685) 2013-02-21 16:56:48 +01:00
Philipp Hagemeister 7c038b3c32 Import HTTPErrorProcessor from the correct module (Closes #696) 2013-02-21 16:49:05 +01:00
Philipp Hagemeister c8cd8e5f55 release 2013.02.19 2013-02-19 00:06:04 +01:00
Philipp Hagemeister d8f64574a4 release 2013.02.18 2013-02-18 23:37:20 +01:00
Philipp Hagemeister e711babbd1 Fix YP IE 2013-02-18 23:30:33 +01:00
Philipp Hagemeister 197080b10b Merge remote-tracking branch 'jaimeMF/TED' 2013-02-18 23:12:56 +01:00
Philipp Hagemeister 7796e8c2cb facebook: also download lq videos 2013-02-18 23:12:48 +01:00
Philipp Hagemeister 6d4363368a Fix MyVideo IE 2013-02-18 22:32:56 +01:00
Jaime Marquínez Ferrándiz 414638cd50 TED: Add support for playlists 2013-02-18 21:42:06 +01:00
Philipp Hagemeister 2a9983b78f Fix 8tracks 2013-02-18 19:11:32 +01:00
Philipp Hagemeister b17c974a88 Mark DailyMotion as broken for now (#680) 2013-02-18 18:53:40 +01:00
Philipp Hagemeister 5717d91ab7 Correct --newline and give it a more meaningful title 2013-02-18 18:52:06 +01:00
Philipp Hagemeister 79eb0287ab Merge remote-tracking branch 'glisignoli/master' 2013-02-18 18:47:35 +01:00
Philipp Hagemeister 58994225bc Add tests to MySpass 2013-02-18 18:45:09 +01:00
Jaime Marquínez Ferrándiz 59d4c2fe1b fix some titles in TED 2013-02-17 17:25:02 +01:00
Jaime Marquínez Ferrándiz 3a468f2d8b Basic support for TED 2013-02-17 17:13:06 +01:00
bastik 1ad5d872b9 added new InfoExtractor for myspass.de 2013-02-16 13:46:13 +01:00
glisignoli 380a29dbf7 Update youtube_dl/__init__.py 2013-02-15 15:55:11 +13:00
Gino Lisignoli 1528d6642d Forgot to remove \r 2013-02-13 16:43:08 +13:00
Gino Lisignoli 7311fef854 Modified youtube-dl to write new lines with the --newline switch. This
enables easier process monitoring when being called with external
scripts.
2013-02-13 14:02:31 +13:00
Mantas Mikulėnas 906417c7c5 Fix delayed title display in --console-title
With Python 3, the titlebar wouldn't get updated for a long time (due to
stderr buffering), and when it did, the title would be shown as b'...'
representation.
2013-02-09 22:58:12 +02:00
Philipp Hagemeister 6aabe82035 Credit Osama Khalid for Keek support 2013-02-08 11:01:09 +01:00
Philipp Hagemeister f0877a445e Add tests for keek 2013-02-08 11:00:28 +01:00
Osama Khalid da06e2daf8 Add KeekIE() 2013-02-08 10:25:55 +03:00
Philipp Hagemeister d3f5f9f6b9 Fix login (Closes #658) 2013-02-06 21:22:53 +01:00
Philipp Hagemeister 8edc2cf8ca Support direct vimeo links (Closes #666) 2013-02-05 13:42:08 +01:00
Philipp Hagemeister fb778e66df Fix encoding in youtube subtitle download (Closes #669) 2013-02-05 13:30:02 +01:00
Philipp Hagemeister dbf2ba3d61 Better help for new options 2013-02-02 14:44:22 +01:00
Philipp Hagemeister 229cac754a Improve cookie error handling 2013-02-02 13:51:54 +01:00
Philipp Hagemeister 0e33684194 Switch to m4a by default (Closes #240) 2013-02-01 18:23:20 +01:00
Jeff Crouse 9e982f9e4e Added "min-filesize" and "max-filesize" options 2013-02-01 18:09:34 +01:00
Philipp Hagemeister 9cd5e4fce8 release 2013.02.01 2013-02-01 17:57:32 +01:00
Philipp Hagemeister edba5137b8 Fix Facebook IE 2013-02-01 17:56:22 +01:00
Philipp Hagemeister 3b024e17af Work around buggy HTML Parser in Python < 2.7.3 (Closes #662) 2013-02-01 17:29:50 +01:00
Philipp Hagemeister ec71c13ab8 release 2013.01.28 2013-01-27 18:33:58 +01:00
Philipp Hagemeister f0bad2b026 Fix Stanford (Closes #653) 2013-01-27 15:23:26 +01:00
Philipp Hagemeister 25580f3251 8tracks: Ignore hashes 2013-01-27 04:15:12 +01:00
Philipp Hagemeister da4de959df 8tracks: Better default titles 2013-01-27 04:05:53 +01:00
Philipp Hagemeister d0d51a8afa 8tracks: Include performer as uploader 2013-01-27 03:27:46 +01:00
Philipp Hagemeister c3a1642ead release 2013.01.27 2013-01-27 03:03:02 +01:00
Philipp Hagemeister ccf65f9dee 8tracks IE (Closes #652) 2013-01-27 03:01:23 +01:00
Philipp Hagemeister b954070d70 Fix Facebook (Closes #375) 2013-01-25 16:54:48 +01:00
Philipp Hagemeister 6df40dcbe0 Guard against sys.getfilesystemencoding() == None (#503) 2013-01-20 01:48:05 +01:00
Philipp Hagemeister 97f194c1fb twitch.tv: Use id as title if no title is present (Closes #638) 2013-01-16 09:55:45 +01:00
Philipp Hagemeister bbc3e2753a release 2013.01.13 2013-01-12 22:18:13 +01:00
Philipp Hagemeister 67353612ba Revert "Move update to front"
This reverts commit db30f02b50.
2013-01-12 22:10:36 +01:00
Philipp Hagemeister bffbd5f038 Download progress hooks 2013-01-12 20:34:50 +01:00
Philipp Hagemeister 187f491ad2 [RBMA] Do not fail if thumbnail is empty 2013-01-12 18:45:50 +01:00
Philipp Hagemeister 335959e778 Correct Blip.tv on 2.6, where HTTP headers are case-sensitive (wtf?) 2013-01-12 18:38:23 +01:00
Philipp Hagemeister fbc5f99db9 release 2013.01.12 2013-01-12 17:59:58 +01:00
Philipp Hagemeister ca0a0bbeec RBMA IE (Closes #630) 2013-01-12 17:58:39 +01:00
Philipp Hagemeister 6119f78cb9 Add location field 2013-01-12 17:34:31 +01:00
Philipp Hagemeister 539679c7f9 Make uploader and upload_date fields optional 2013-01-12 17:34:09 +01:00
Philipp Hagemeister fffec3b9d9 Credit jefftimesten for YouPornIE, PornoTubeIE, YouJizzIE 2013-01-12 16:51:20 +01:00
Philipp Hagemeister 3446dfb7cb Proper support for changing User-Agents from IEs 2013-01-12 16:49:13 +01:00
Philipp Hagemeister db16276b7c Improve YouJizz 2013-01-12 16:41:04 +01:00
Philipp Hagemeister 629fcdd135 Add agecheck and various improvements to YouPorn IE 2013-01-12 16:10:35 +01:00
Philipp Hagemeister 64ce2aada8 _request_webpage helper methods for queries that need the final URL 2013-01-12 16:10:16 +01:00
Philipp Hagemeister 565f751967 Clean up porno IEs 2013-01-12 15:17:04 +01:00
Philipp Hagemeister 6017964580 Merge remote-tracking branch 'jefftimesten/master' 2013-01-12 15:12:50 +01:00
Philipp Hagemeister 1d16b0c3fe Keep file without any PPs (oops, missed the obvious case) 2013-01-12 15:12:28 +01:00
Philipp Hagemeister 7851b37993 --recode-video option (Closes #18) 2013-01-12 15:09:09 +01:00
Philipp Hagemeister d81edc573e Merge 'jaimeMF/videoconversion' (sans actual option for now) 2013-01-12 14:04:30 +01:00
Philipp Hagemeister ef0c8d5f9f Make ustream IE more robust 2013-01-12 13:49:14 +01:00
Philipp Hagemeister db30f02b50 Move update to front 2013-01-12 13:45:39 +01:00
Jaime Marquínez Ferrándiz 67d0c25eab Add a PostProcessor for converting video format 2013-01-11 20:50:49 +01:00
Philipp Hagemeister 142d38f776 release 2013.01.11 2013-01-11 08:05:30 +01:00
Philipp Hagemeister 510e6f6dc1 Support --audio-format=opus 2013-01-10 19:15:04 +01:00
Philipp Hagemeister 712e86b999 Fix broken ffmpeg (Closes #623) 2013-01-09 14:46:19 +01:00
Philipp Hagemeister 74fdba620d release 2013.01.08 2013-01-08 10:29:53 +01:00
atomizer fa1bf9c653 justin.tv tweaks
- download all parts of a broadcast, fixes #614
- set "uploader" variable to channel_name if available
- catch api errors even if http status is 200
2013-01-07 16:59:39 +04:00
Philipp Hagemeister 4b879984ea release 2013.01.06 2013-01-06 22:52:04 +01:00
Jeff Crouse 18be482a6f oops - didn't remove some reminders 2013-01-06 15:52:33 -05:00
Jeff Crouse ca6710ee41 made changes recommended in pull request 2013-01-06 15:40:50 -05:00
Philipp Hagemeister 9314810243 fix ComedyCentral IE in Python3 2013-01-06 21:36:01 +01:00
Philipp Hagemeister 7717ae19fa Add tests for ComedyCentral IE 2013-01-06 21:35:20 +01:00
Philipp Hagemeister 32635ec685 Switch comedycentral IE to http downloads 2013-01-06 21:26:31 +01:00
Jeff Crouse caec7618a1 re-fixed XNXX regex problem 2013-01-05 16:05:23 -05:00
Jeff Crouse 991ba7fae3 Added extractors for 3 porn sites 2013-01-05 15:59:01 -05:00
Jaime Marquínez Ferrándiz 26714799c9 steamIE remove the HTMLparser object 2013-01-03 23:56:02 +01:00
Jaime Marquínez Ferrándiz 5e9d042d8f steamIE follow @phihag suggestions 2013-01-03 23:51:48 +01:00
Jaime Marquínez Ferrándiz 9cf98a2bcc Allow downloading videos with other characters in their titles
Especially html entities
2013-01-03 21:17:35 +01:00
Philipp Hagemeister f5ebb61495 Support page URL in RTMP downloads 2013-01-03 20:26:38 +01:00
Philipp Hagemeister 01951dda7a Make ExtractorError usable for other causes 2013-01-03 15:39:55 +01:00
Filippo Valsorda d851e895d5 release 2013.01.02 2013-01-02 22:21:45 +01:00
Philipp Hagemeister 26cf040827 Support youtube videos of google+ users 2013-01-02 19:12:44 +01:00
Philipp Hagemeister 8e241d1a1a Simplify DailyMotion IE 2013-01-01 21:22:30 +01:00
Philipp Hagemeister c80f0a417a Better name for InfoQ IE 2013-01-01 21:10:45 +01:00
Philipp Hagemeister 4fcca4bb18 Fix infoQ in Python3 2013-01-01 21:07:37 +01:00
Philipp Hagemeister 5f9551719c Simplify some IEs 2013-01-01 20:52:59 +01:00
Philipp Hagemeister d830b7c297 _download_webpage helper function 2013-01-01 20:43:43 +01:00
Philipp Hagemeister 1c256f7047 ExtractorError for errors during extraction 2013-01-01 20:27:53 +01:00
Philipp Hagemeister a34dd63beb Remove superfluous IE names 2013-01-01 19:40:48 +01:00
Philipp Hagemeister 4aeae91f86 Move gen_extractors to InfoExtractors 2013-01-01 19:37:07 +01:00
Philipp Hagemeister 2069acc6a4 credit @jaimeMF 2013-01-01 18:29:43 +01:00
Jaime Marquínez Ferrándiz 278986ea0f ustreamIE 2013-01-01 18:14:20 +01:00
Jaime Marquínez Ferrándiz e314ba675b SteamIE 2013-01-01 14:12:14 +01:00
Filippo Valsorda 0214ce7c75 Ok, the Escapist test was passing only in my Travis repo, do not ask me why; also, a small bugfix to the latest commit 2012-12-31 19:21:28 +01:00
Filippo Valsorda 95fedbf86b three small edits
* ask for a --verbose log when reporting bugs in README.md
* re-enable Escapist test, seems stable now
* check that we are not downloading multiple videos when the template is fixed (NOT a complete fix: not detecting playlists)
2012-12-31 19:12:57 +01:00
Filippo Valsorda 8cad53e84c Removed a spurious increment_downloads, this time cleanly 2012-12-30 19:53:07 +01:00
Filippo Valsorda d5ed35b664 moved updating code to update.py 2012-12-30 19:50:33 +01:00
Filippo Valsorda f427df17ab some fixes, pulled the codename from the code 2012-12-30 19:50:33 +01:00
Filippo Valsorda 4e38899e97 print some version and environment info on --verbose (+ py3 fixes) 2012-12-30 19:50:33 +01:00
Filippo Valsorda cb6ff87fbb The new updates system, relies on gh-pages, secured by RSA, uses external web servers 2012-12-30 19:50:33 +01:00
Philipp Hagemeister 0deac3a2d8 Revert "Removed a spurious increment_downloads"
This reverts commit 92e3e18a1d.
2012-12-29 16:56:52 +01:00
Filippo Valsorda 92e3e18a1d Removed a spurious increment_downloads 2012-12-29 16:49:49 +01:00
Philipp Hagemeister 3bb6165927 Allow ampersand right after ? in youtube URLs (Closes #602) 2012-12-27 05:31:36 +01:00
Philipp Hagemeister d0d4f277da TweetReel IE 2012-12-27 01:38:41 +01:00
Filippo Valsorda 99b0a1292b add --no-post-overwrites to README.md; + minor style fixes 2012-12-26 20:39:33 +01:00
Barbu Paul - Gheorghe b7298b6e2a not relying on ffmpeg to do the post-processed file checking, instead doing it directly in youtube-dl 2012-12-24 12:53:28 +02:00
Barbu Paul - Gheorghe 3e6c3f52a9 apparently the -n option is available only in ffmpeg 2012-12-23 20:20:19 +02:00
Barbu Paul - Gheorghe 0c0074328b modified FFmpegExtractAudioPP to accept whether it should overwrite post-processed files or not 2012-12-23 19:51:41 +02:00
Barbu Paul - Gheorghe f0648fc18c added the --no-post-overwrites argument 2012-12-23 19:36:48 +02:00
Philipp Hagemeister a7c0f8602e Merge branch 'master' of github.com:rg3/youtube-dl 2012-12-20 21:28:32 +01:00
Philipp Hagemeister 21a9c6aaac FunnyOrDie IE (Fixes #599) 2012-12-20 21:28:27 +01:00
Filippo Valsorda 6b3aef80ce better Vimeo tests; fixed a couple of VimeoIE fields 2012-12-20 16:30:55 +01:00
Filippo Valsorda 77c4beab8a new info_dict field: uploader_id 2012-12-20 16:28:16 +01:00
Filippo Valsorda 1a2c3c0f3e some py3 fixes, both needed and recommended; we should pass 2to3 as cleanly as possible now 2012-12-20 14:20:24 +01:00
Filippo Valsorda 056d857571 refactor YouTube subtitles code, it was ugly (my bad) 2012-12-20 14:20:24 +01:00
Nick Daniels 0dcfb234ed Update Vimeo Info Extractor to get pull in the description properly 2012-12-20 13:27:44 +01:00
Nick Daniels 43e8fafd49 Refactor IDParser to search for elements by any attribute not just ID 2012-12-20 13:27:38 +01:00
Philipp Hagemeister bfa6389b74 Clean up legacy code 2012-12-20 13:25:54 +01:00
Philipp Hagemeister 9b14f51a3e Remove legacy code 2012-12-20 13:14:27 +01:00
Philipp Hagemeister f4bfd65ff2 Correct JSON writing (Closes #596) 2012-12-20 13:13:24 +01:00
Nick Daniels cdb3076445 Sublime space formatting 2012-12-19 14:19:08 +00:00
Philipp Hagemeister 993693aa79 Merge remote-tracking branch 'origin/master' 2012-12-17 20:21:41 +01:00
Philipp Hagemeister ce4be3a91d Remove some antipatterns and ensure that we always write the JSON file with UTF-8 2012-12-17 19:48:10 +01:00
Filippo Valsorda 937021133f a number of new tests and fixes; all tests green on 3.3 2012-12-17 18:33:11 +01:00
Filippo Valsorda f7b111b7d1 Google Video has been shutdown as of 11/15/2012. All videos on Google Video will be migrated to YouTube by the end of 2012. 2012-12-17 16:33:49 +01:00
Filippo Valsorda 80d3177e5c various py3 fixes; all tests green on 3.3 2012-12-17 16:25:03 +01:00
Philipp Hagemeister 5910e210f4 Fix --extract-audio on Python 3 2012-12-16 12:29:03 +01:00
Philipp Hagemeister 88f6c78b02 Credit vasi for justin.tv 2012-12-16 11:16:57 +01:00
Dave Vasilevsky 4096b60948 Misc justin.tv fixes 2012-12-16 04:45:46 -05:00
Dave Vasilevsky 2ab1c5ed1a Support more than 100 videos for justin.tv 2012-12-16 04:26:22 -05:00
Dave Vasilevsky 0b40544f29 Preliminary support for twitch.tv and justin.tv 2012-12-16 03:50:41 -05:00
Philipp Hagemeister 0be41ec241 Do not decode None 2012-12-15 23:55:13 +01:00
Philipp Hagemeister f1171f7c2d Fix VimeoIE in Python 3 2012-12-15 18:25:00 +01:00
Philipp Hagemeister 28ca6b5afa Fix Dailymotion in Python 3 2012-12-15 18:23:17 +01:00
Philipp Hagemeister bec102a843 Fix XNXX in Python 3 2012-12-15 18:19:25 +01:00
Philipp Hagemeister 8f6f40d991 More Youku Python 3 fixing 2012-12-15 17:59:09 +01:00
Philipp Hagemeister e2a8ff24a9 Fix YoukuIE in Python3 (and in general) 2012-12-15 17:57:13 +01:00
Philipp Hagemeister 8588a86f9e Fix xvideo IE in Python 3 2012-12-15 17:50:45 +01:00
Philipp Hagemeister 5cb9c3129b restrict sys.argv craziness to Python 2 (Fixes #591) 2012-12-15 17:44:48 +01:00
Philipp Hagemeister 4cc3d07426 NBA IE (Closes #590) 2012-12-13 21:27:57 +01:00
nto ca6849e65d Add support for comedycentral clips (closes #233)
Support individual clips, not just full episodes.
break up now monstrous _VALID_URL regex over multiple lines to improve readability,
pass re.VERBOSE flag when using regex to ignore the whitespace
2012-12-11 21:38:16 -06:00
Philipp Hagemeister 4c21c56bfe Merge branch 'master' of github.com:rg3/youtube-dl 2012-12-11 17:07:13 +01:00
Filippo Valsorda 2a298b72eb Release 2012.12.11 2012-12-11 17:00:13 +01:00
Philipp Hagemeister 55c0539872 Fix blip.tv in python3 2012-12-11 17:00:11 +01:00
Filippo Valsorda 9789a05c20 fix playlist pagination and add YT playlist tests (closes #569) 2012-12-11 16:58:36 +01:00
Filippo Valsorda 95eb771dcd Merge branch 'master' into fork_master
Conflicts:
	.travis.yml
2012-12-11 12:15:16 +01:00
Filippo Valsorda 1ca63e3ae3 the test didn't load our Gzip opener
this was blocking the Vimeo test

+ some more gentest fixes
2012-12-11 11:33:15 +01:00
Filippo Valsorda 59ce201915 print traceback on trouble if --verbose (why didn't I think of this before!?) 2012-12-11 11:02:21 +01:00
Filippo Valsorda 8d5d3a5d00 exposing the test mode as --test (hidden and undocumented) 2012-12-11 09:57:40 +01:00
Filippo Valsorda 37c8fd4842 added a test mode to FileDownloader that fetches only first 10K 2012-12-11 09:49:27 +01:00
Filippo Valsorda 3c6ffbaedb Merge 'rg3/master' into fork_master 2012-12-08 01:57:43 +01:00
Filippo Valsorda 5a304a7637 new updating scheme, based on GH downloads; also, check if not updateable (pip installed) 2012-12-08 00:48:07 +01:00
Filippo Valsorda fec89790b1 and now, also py2exe compiles fine :) (on Windows) 2012-12-07 12:04:52 +01:00
Philipp Hagemeister c7214f9a6f Use Soundcloud API (Closes #579) 2012-12-07 01:30:03 +01:00
Philipp Hagemeister 8fd3afd56c More work on soundcloud IE 2012-12-07 01:24:51 +01:00
Philipp Hagemeister f9b2f2b955 Correct accidental rename 2012-12-07 00:57:06 +01:00
Philipp Hagemeister 633b4a5ff6 Mark SoundCloud IE as nonfunctional for now (#579) 2012-12-07 00:50:56 +01:00
Philipp Hagemeister b4cd069d5e Better error reporting for SoundCloud IE 2012-12-07 00:40:13 +01:00