Philipp Hagemeister
dc1b027cd4
[twitch] PEP8
2015-01-22 23:06:03 +01:00
Sergey M․
f353cbdb2f
[twitch:stream] Randomize query
2015-01-22 23:34:40 +06:00
Philipp Hagemeister
73e449b226
Merge branch 'master' of github.com:rg3/youtube-dl
2015-01-22 18:21:27 +01:00
Philipp Hagemeister
78111136db
[twitch] Move URL matching tests into extractor
2015-01-22 18:18:21 +01:00
Philipp Hagemeister
650ab5beeb
[comedycentral:shows] Remove references to colbert report
2015-01-22 18:15:58 +01:00
Philipp Hagemeister
7932de6352
[hearthisat] Correct error message
2015-01-22 18:15:04 +01:00
Sergey M․
240b9b7a5c
[twitch] Add support for streams ( Closes #893 , closes #3693 , closes #1884 )
2015-01-22 23:11:22 +06:00
Naglis Jonaitis
bb6e38787d
[videomega] Fix extraction ( Closes #4763 )
2015-01-22 18:36:49 +02:00
Philipp Hagemeister
b55ee18ff3
[hearthisat] Add support for more high-quality download links
2015-01-22 12:04:13 +01:00
Naglis Jonaitis
e5763a7a7e
[hearthisat] Add new extractor ( Closes #4743 )
2015-01-21 21:47:55 +02:00
Sergey M․
8bb1bdfae9
[twitch:past_broadcasts] Fix IE_NAME
2015-01-21 23:06:16 +06:00
Sergey M․
bb0aa4cb3c
[streetvoice] Improve
2015-01-21 22:53:51 +06:00
Sergey M.
d63528c8c7
Merge pull request #4758 from yan12125/IE_streetvoice
...
[StreetVoice] Add new extractor
2015-01-21 22:36:50 +06:00
Sergey M․
c5db6bb32b
[twitch] Refactor and add support for past broadcasts
2015-01-21 22:27:21 +06:00
Yen Chi Hsuan
c8dc41a6e7
[StreetVoice] Add new extractor
2015-01-21 23:05:47 +08:00
Jaime Marquínez Ferrándiz
47e0e1e0e2
[nbc] Fix pep8 issue
2015-01-21 10:36:15 +01:00
Jaime Marquínez Ferrándiz
efcddaebe9
[cnn] Use edition.cnn.com for getting the information ( fixes #4757 )
...
Some videos (like http://edition.cnn.com/videos/us/2015/01/20/orig-yellowstone-oil-spill.cnn ) will fail if we use cnn.com.
2015-01-21 10:31:57 +01:00
Jaime Marquínez Ferrándiz
5fe5112589
[CNNArticle] Update test
2015-01-21 10:27:18 +01:00
Sergey M․
564bb5e964
[tinypic] Tweak VALID_URL regex ( Closes #4754 )
2015-01-21 02:15:28 +06:00
Sergey M․
2df54b4ba8
[nbcnews] Ignore HTTP errors while coping with playlists ( Closes #4749 )
2015-01-20 21:23:51 +06:00
Sergey M․
030aa5d9e7
[tvp] Fix extraction
2015-01-19 23:00:22 +06:00
Philipp Hagemeister
c511f13f22
[ndtv] Modernize
2015-01-19 10:10:05 +01:00
Sergey M․
fdb2ed7455
[abc7news] Add extractor ( Closes #4734 )
2015-01-18 08:09:18 +06:00
Philipp Hagemeister
cce81f192c
[bandcamp:album] Fix title extraction ( Fixes #4721 )
2015-01-16 14:20:25 +01:00
Philipp Hagemeister
9d22a7dfb0
[fourtube] Fix extraction
2015-01-16 13:44:44 +01:00
Philipp Hagemeister
4f4f642822
[npo] Remove unused import
2015-01-16 13:44:36 +01:00
Sergey M․
aaeb86f682
[youtube] Add test for #4706
2015-01-16 01:25:03 +06:00
Phil Kulak
a9b6b5cd15
Looks like Google switched to a new JS compiler that includes dollar signs in function names.
2015-01-15 10:23:05 -08:00
Naglis Jonaitis
a45c0a5d67
[videomega] Fix extraction ( Closes #4703 )
2015-01-15 19:57:36 +02:00
Sergey M․
c8dfe360eb
[atresplayer] Add authentication support ( Closes #4700 )
2015-01-15 21:43:35 +06:00
Sergey M․
c9ef44ce29
[smotri] Improve extraction ( Closes #4698 )
2015-01-14 21:50:36 +06:00
Sergey M․
e92d4a11f5
[spiegel] Test format video URLs for 404 ( Closes #4579 )
2015-01-14 20:27:14 +06:00
Naglis Jonaitis
f2cbc96c3e
[lnkgo] Make more robust
2015-01-14 00:51:48 +02:00
Naglis Jonaitis
034206cec1
[lnkgo] Add new extractor
2015-01-14 00:14:59 +02:00
Sergey M․
04e0bac233
[npo:live] Add extractor ( Closes #4691 )
2015-01-13 20:54:03 +06:00
Philipp Hagemeister
5c4a81d934
[npo] Remove unused import
2015-01-11 23:43:09 +01:00
Philipp Hagemeister
8e2ec95575
[drbonanza] Simplify and fix duration ( #4687 )
2015-01-11 23:41:55 +01:00
Johan K. Jensen
8e7a9016d5
[DRBonanza] Add new extractor (fixing #4581 )
2015-01-11 23:23:10 +01:00
Sergey M․
c85f368370
[npo] Make extension check less strict and add test ( #4680 )
2015-01-11 23:45:52 +06:00
Sergey M․
a0977064ce
[npo] Fix non asf streams ( Closes #4680 )
2015-01-11 23:18:45 +06:00
Johan
6ccbb335d2
[drtv] Updated with support for https
2015-01-11 17:39:16 +01:00
Sergey M․
aa24de39aa
[veehd] Update test
2015-01-11 16:20:39 +06:00
Sergey M․
a798e64c15
[veehd] Improve extraction
2015-01-11 16:20:16 +06:00
Philipp Hagemeister
6a5fa75490
[karaoketv] Remove unused import
2015-01-11 10:48:20 +01:00
Sergey M․
d5bb814d34
[veehd] Capture removed video message
2015-01-11 15:42:53 +06:00
Sergey M․
d156a1d981
[xboxclips] Fix extraction
2015-01-11 15:25:29 +06:00
Sergey M․
ed3958d714
[collegerama] Add extractor ( #4540 )
2015-01-11 00:40:46 +06:00
Philipp Hagemeister
c80ede5f13
[karaoketv] Simplify ( #3853 )
2015-01-10 18:03:36 +01:00
Philipp Hagemeister
bc694039e4
Merge remote-tracking branch 'lenaten/karaoketv'
2015-01-10 17:59:35 +01:00
Philipp Hagemeister
3462af03e6
[rte] PEP8
2015-01-10 17:59:07 +01:00
Philipp Hagemeister
ea1d5bdcdd
[rte] Make more robust and add a new testcase ( #4015 )
2015-01-10 17:57:21 +01:00
Philipp Hagemeister
121c09c7be
Merge remote-tracking branch 'Dineshs91/f4m-2.0'
2015-01-10 17:51:52 +01:00
Philipp Hagemeister
76bfaf6daf
[nrk] Improve subtitle support ( #3092 )
2015-01-10 17:46:01 +01:00
Sergey M․
d89c6e336a
[atttechchannel] Add extractor ( Closes #3938 )
2015-01-10 19:44:29 +06:00
Philipp Hagemeister
27ca82ebc6
[orf:oe1] Add konsole URL schema ( Fixes #4675 )
2015-01-10 14:27:27 +01:00
Philipp Hagemeister
385f8ae468
[eighttracks] PEP8
2015-01-10 14:25:11 +01:00
Philipp Hagemeister
b9f030cc26
[orf] Fix typo
2015-01-10 14:23:54 +01:00
Philipp Hagemeister
f71fdb0acc
[eighttracks] Improve waiting ( #3954 )
2015-01-10 05:51:07 +01:00
Philipp Hagemeister
c24dfef63c
Merge remote-tracking branch 'lenaten/8tracks'
2015-01-10 05:47:05 +01:00
Philipp Hagemeister
6271f1cad9
[youtube|ffmpeg] Automatically correct video with non-square pixels ( Fixes #4674 )
2015-01-10 05:45:51 +01:00
Philipp Hagemeister
fb4b030aaf
[tvp] Update tests and improve output
2015-01-10 02:38:35 +01:00
Philipp Hagemeister
ff21a8e0ee
Merge remote-tracking branch 'Tithen-Firion/master'
2015-01-10 02:26:21 +01:00
Philipp Hagemeister
904fffffeb
[audiomack] Better titles, simplify code
2015-01-10 02:24:46 +01:00
Philipp Hagemeister
51897bb77c
Merge remote-tracking branch 'xavierbeynon/master'
2015-01-10 02:03:46 +01:00
Philipp Hagemeister
dd622d7c4e
[netzkino] Add new extractor ( Fixes #4669 )
2015-01-09 23:59:18 +01:00
Philipp Hagemeister
b8da6b9fc6
[elpais] Modernize
2015-01-09 22:43:49 +01:00
Philipp Hagemeister
176cf9e0c3
[wdr] Support overviews ( Fixes #4651 )
2015-01-09 21:33:07 +01:00
Philipp Hagemeister
7b6faddfc8
[wdr] Modernize
2015-01-09 20:52:49 +01:00
Philipp Hagemeister
230b2287dd
[youtube] Add acodec information
...
The codec seems to be consistently aac, so state that in our metadata.
2015-01-09 20:44:21 +01:00
Jaime Marquínez Ferrándiz
9932a65370
[vk] Remove debug assert statement ( fixes #4672 , fixes #4514 )
2015-01-09 20:13:53 +01:00
Your Name
ff0813313a
Minor style changes
2015-01-08 18:35:33 -06:00
Philipp Hagemeister
92b065dc53
[tudou] Fix extraction
2015-01-08 18:03:29 +01:00
Philipp Hagemeister
9298d4e3df
[discovery] Fix extractor
2015-01-08 18:03:29 +01:00
Philipp Hagemeister
740a7fcbc8
[gdcvault] Skip test that is now restricted
2015-01-08 18:03:29 +01:00
Philipp Hagemeister
db6e625005
[buzzfeed] Fix test
2015-01-08 18:03:29 +01:00
Philipp Hagemeister
811cacdc2c
[bet] Correct test IDs
2015-01-08 18:03:29 +01:00
Philipp Hagemeister
bd6b25ce0e
[fktv] Fix download URL
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
d51a853d5c
[zdf] Fix test case
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
9ed99402f5
[youtube] Fix test case
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
ec3a6a3137
[tunein] Ignore reliability if it's >90% ( #4097 )
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
796858a53f
[sexykarma] Add age_limit designation
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
5b78caca94
[mit] Amend test definitions
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
bec2248141
[InfoExtractor/common] Correct and test meta tag matching
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
211503c39f
[teachertube] Modernize
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
adb1307b9a
[imdb] Remove test md5
...
They seem to reencode quite frequently, so simply remove the md5 sum.
2015-01-08 16:14:50 +01:00
Philipp Hagemeister
99673f04bc
[washingtonpost] Modernize and correct test case
2015-01-08 16:14:49 +01:00
Sergey M․
398133cf55
[huffpost] Make extraction more robust ( Closes #4663 )
2015-01-08 19:07:28 +06:00
Sergey M․
58a84b8cb6
[bilibili] Fix extraction ( Closes #4660 )
2015-01-08 01:33:22 +06:00
Jaime Marquínez Ferrándiz
5d8993b06a
[extractor/__init__] Remove unused import
2015-01-07 11:59:15 +01:00
Jaime Marquínez Ferrándiz
c758bf9fd7
[nrktv] Remove 'proxy' parameter from tests
2015-01-07 11:56:22 +01:00
Philipp Hagemeister
ccc5842bc9
[gameone] Modernize
2015-01-07 07:37:21 +01:00
Philipp Hagemeister
e4a8eae701
Merge commit '8ee3415'
2015-01-07 07:30:57 +01:00
Philipp Hagemeister
8ee341500d
[viki] Modernize
2015-01-07 07:21:24 +01:00
Philipp Hagemeister
0590062925
Respect age_limit when listing extractors ( Fixes #4653 )
2015-01-07 07:20:20 +01:00
Sergey M․
799d88d3d8
[nrktv] Add support for playlists ( Closes #4656 )
2015-01-07 06:46:56 +06:00
Sergey M․
6309cb9b41
[ceskatelevize] Fix python 2.6 format issue
2015-01-07 05:03:34 +06:00
Sergey M․
27a82a1b93
[ceskatelevize] Simplify
2015-01-07 05:03:14 +06:00
Sergey M․
ecd1936695
Merge branch 'ceskatelevizesrt' of https://github.com/oskar456/youtube-dl into oskar456-ceskatelevizesrt
2015-01-07 05:02:27 +06:00
Jaime Marquínez Ferrándiz
76b3c61012
[youtube] Add formats 308 and 315 ( closes #4650 )
2015-01-06 11:59:41 +01:00
Sergey M․
0df2dea73b
[giga] Add extractor ( Closes #4090 )
2015-01-06 06:54:31 +06:00
Philipp Hagemeister
ee61f6f3e2
[youtube] Handle cases where format comes without a preference ( Fixes #4648 )
2015-01-05 22:42:17 +01:00
Jaime Marquínez Ferrándiz
8f9529cd05
[motorsport] Fix extraction and make trailing '/' optional
...
They directly embed a youtube video now.
2015-01-05 19:19:01 +01:00
Philipp Hagemeister
6291438073
[auengine] Simplify ( #4643 )
2015-01-05 18:21:32 +01:00
Philipp Hagemeister
18c3c15391
Merge remote-tracking branch 'Oteng/master'
2015-01-05 18:18:15 +01:00
Philipp Hagemeister
dda620e88c
[radiobremen] Make code more readable and more resilient to failures
2015-01-05 18:17:03 +01:00
Philipp Hagemeister
d7cc31b63e
[generic] PEP8
2015-01-05 18:16:47 +01:00
Philipp Hagemeister
aa80652f47
[radiobremen] Add test for thumbnail
2015-01-05 18:14:09 +01:00
Philipp Hagemeister
9d247bbd2d
[radiobremen] Fix under Python 2.6 and fix duration
2015-01-05 18:13:19 +01:00
Philipp Hagemeister
93e40a7b2f
Merge remote-tracking branch 'ckrooss/master'
2015-01-05 18:07:16 +01:00
oteng
03ff2cc1c4
[Auengine] corrected extractions logic
...
The way the video download url was been extracted was
not working well so i change it for it to extract the
correct url
2015-01-05 16:28:24 +00:00
Jaime Marquínez Ferrándiz
a285b6377b
[normalboots] Skip download in test, it uses rtmp
2015-01-05 13:59:49 +01:00
Jaime Marquínez Ferrándiz
cd791a5ea0
[ted] Add support for embed-ssl.ted.com embedded videos
2015-01-05 13:11:13 +01:00
Jaime Marquínez Ferrándiz
87830900a9
[generic] Update some tests
2015-01-05 13:07:24 +01:00
Jaime Marquínez Ferrándiz
dfc9d9f50a
Merge pull request #4639 from bartkappenburg/patch-1
...
Update rtlnl.py
2015-01-05 12:31:07 +01:00
Jaime Marquínez Ferrándiz
628bc4d1e7
[khanacademy] Update test
2015-01-05 12:28:35 +01:00
Jaime Marquínez Ferrándiz
a4c3f48639
[vimple] Replace tests
...
The first one seems to be no longer available and the second was an episode from a tv show.
2015-01-05 11:54:14 +01:00
Bart Kappenburg
bdf80aa542
Update rtlnl.py
...
Added support for the non-www version of rtlxl.nl by making "www." optional.
2015-01-05 11:51:24 +01:00
Naglis Jonaitis
adf3c58ad3
[lrt] Fix missing provider key
...
Also, modernize a bit.
2015-01-05 02:55:12 +02:00
Naglis Jonaitis
caf90bfaa5
[webofstories] Add new extractor ( Closes #4585 )
2015-01-05 02:22:01 +02:00
Jaime Marquínez Ferrándiz
2f985f4bb4
[youtube:toplist] Remove extractor
...
They use now normal playlists (their id is PL*).
2015-01-05 00:18:43 +01:00
Philipp Hagemeister
67c2bcdf4c
Remove extractors which infringe copyright ( #4554 )
2015-01-04 19:19:18 +01:00
Jaime Marquínez Ferrándiz
9fda6ee39f
[tf1] Remove unused import
2015-01-04 14:06:23 +01:00
Christopher Krooss
bc1fc5ddbc
Don't check for height as it's not provided
2015-01-04 14:02:07 +01:00
Christopher Krooss
f4858a7103
Add support for Radio Bremen
2015-01-04 13:33:26 +01:00
Philipp Hagemeister
7a1818c99b
[vk] Add support for rutube embeds ( Fixes #4514 )
2015-01-04 03:15:27 +01:00
Philipp Hagemeister
2ccd1b10e5
[soulanime] Fix under Python 3
2015-01-04 02:20:45 +01:00
Philipp Hagemeister
788fa208c8
Merge branch 'master' of github.com:rg3/youtube-dl
2015-01-04 02:08:38 +01:00
Philipp Hagemeister
b68ff25917
Add various anime sites ( Closes #4554 )
2015-01-04 02:05:26 +01:00
t0mm0
b158bb8693
[tf1] simplify regex
2015-01-04 00:45:23 +00:00
t0mm0
2bf098eda4
[tf1] fix test
2015-01-04 00:43:55 +00:00
t0mm0
382e05fa56
[tf1] add support for TFOU
2015-01-04 00:05:31 +00:00
Philipp Hagemeister
e65566a9cc
[youtube] Correct handling when DASH manifest is not necessary to find all formats
2015-01-03 18:33:38 +01:00
Sergey M․
baa3c3f0f6
[ellentv] Improve extraction
2015-01-03 21:54:18 +06:00
Sergey M․
f4f339529c
[ellentv] Clean up and simplify
2015-01-03 21:44:47 +06:00
Sergey M.
7d02fae85b
Merge pull request #4626 from gauravb7090/ellentube
...
Added support for EllenTube along with EllenTV
2015-01-03 21:40:39 +06:00
Gaurav
6e46c3f1fd
Added support for EllenTube along with EllenTV
2015-01-03 20:30:28 +05:30
Sergey M․
c7e675940c
[bbccouk] Add support for music clips ( Closes #4143 )
2015-01-03 20:43:40 +06:00
Jaime Marquínez Ferrándiz
a221f22969
[crunchyroll] Fix format extraction
...
Reported in https://github.com/rg3/youtube-dl/issues/2782#issuecomment-68556780
2015-01-02 21:17:10 +01:00
Jaime Marquínez Ferrándiz
817f786fbb
[canalplus] Raise an error if the video is georestricted ( closes #4472 )
2015-01-02 21:02:34 +01:00
Sergey M․
62420c73cb
[played] Skip test
2015-01-02 22:31:55 +06:00
Sergey M․
2522a0b7da
[kontrtube] Extract display_id
...
Trailing slash in URL is mandatory now
2015-01-02 22:28:48 +06:00
Sergey M․
46d32a12c9
[bet] Update test
2015-01-02 22:23:00 +06:00
Sergey M․
c491418526
[bbccouk] Update test
2015-01-02 22:13:26 +06:00
Ondřej Caletka
c067545c17
ceskatelevize: Closed captions support
2015-01-02 17:12:20 +01:00
Sergey M․
823a155293
[vier:videos] Tune _VALID_URL not to match single videos
2015-01-02 22:09:00 +06:00
Sergey M․
324b2c78fa
[xtube] Fix uploader regex
2015-01-02 21:46:57 +06:00
Sergey M․
d34f98289b
[xhamster] Remove identical tests
2015-01-02 21:12:25 +06:00
Sergey M.
644096b15c
Merge pull request #4615 from dwemthy/https_xhamster
...
[xhamster] Add HTTPS support
2015-01-02 21:09:28 +06:00
Sergey M․
faa4ea68c0
[generic] Add BBC iPlayer playlist test
2015-01-02 20:56:42 +06:00
Sergey M․
476eae0c2a
[generic] Generalize BBC iPlayer playlist extraction
2015-01-02 20:55:09 +06:00
Sergey M․
8399267671
[generic] Make getter None by default
2015-01-02 20:54:30 +06:00
Sergey M․
db546cf87f
[generic] Add support for BBC iPlayer embeds ( Closes #4619 )
2015-01-02 20:46:17 +06:00
Sergey M․
317639758a
[bbccouk] Improve _VALID_URL
2015-01-02 20:37:54 +06:00
Sergey M․
fdbabca85f
[vier:videos] Tune _VALID_URL
2015-01-02 20:21:41 +06:00
Sergey M․
9eb4f404cb
[vier] Simplify, add support for more URL formats, extract all playlist pages when page is not specified
2015-01-02 20:15:40 +06:00
Thijs Vermeir
f58487b392
[vier] Add new extractor
2015-01-02 13:35:47 +01:00
dwemthy
5b9aefef77
[xhamster] Add HTTPS support
2015-01-02 11:54:38 +00:00
Your Name
defaf19f5d
Push api updates to simplify audiomack, add support for albums
2015-01-02 02:20:04 -06:00
Philipp Hagemeister
772fd5cc44
[youtube] Add a pseudo-extractor for truncated YouTube video IDs ( #4610 )
2015-01-01 23:44:39 +01:00
Philipp Hagemeister
9f435c5f1c
Add an extractor for common mistakes ( #4610 )
2015-01-01 22:34:58 +01:00
Philipp Hagemeister
931e2d1d26
[bbccouk] PEP8
2015-01-01 22:15:46 +01:00
Sergey M․
02ec32a1ef
[ceskatelevize] Adapt to new API ( Closes #4531 )
2015-01-01 20:01:55 +06:00
Sergey M․
a1e9e6440f
[moevideo] Skip removed video test
2015-01-01 00:46:03 +06:00
Sergey M․
5878e6398c
[nrktv] Update tests' checksums
2015-01-01 00:37:57 +06:00
Sergey M․
6c6f1408f2
[extractor/common] Allow multiline content tags
2015-01-01 00:37:14 +06:00
Sergey M․
b7a7319c38
[slideshare] Fix extraction
2015-01-01 00:26:19 +06:00
Sergey M․
68f705cac5
[tnaflix] Make sure config URL has correct scheme
2015-01-01 00:12:41 +06:00
Sergey M․
079d1dcd80
[tnaflix] Fix title extraction
2015-01-01 00:11:56 +06:00
Sergey M․
7b24bbdf49
[xboxclips] Fix extraction
2014-12-31 23:59:16 +06:00
Jaime Marquínez Ferrándiz
f86d543ebb
[pbs] Catch geoblocking errors ( closes #4516 )
2014-12-31 17:43:49 +01:00
Jaime Marquínez Ferrándiz
60e47a2699
[youtube] Use '_download_xml' for getting the available subtitles
2014-12-31 15:44:15 +01:00
Sergey M․
b8bc7a696b
[openfilm] Add extractor ( Closes #4538 )
2014-12-31 19:40:35 +06:00
Jaime Marquínez Ferrándiz
7d900ef1bf
[youtube] Add support for automatically translated subtitles ( fixes #4555 )
...
They have a manually uploaded subtitles track and YouTube can transtale it.
2014-12-31 14:15:16 +01:00
Sergey M․
1931a73f39
[echomsk] Add extractor ( Closes #4600 )
2014-12-31 18:03:51 +06:00
Philipp Hagemeister
b3013681ff
Merge remote-tracking branch 'origin/master'
2014-12-30 19:41:04 +01:00
Philipp Hagemeister
416c7fcbce
Add documentation about supported sites ( Fixes #4503 )
2014-12-30 19:35:35 +01:00
Sergey M․
e83eebb12f
[atresplayer] Fix python3 bug
2014-12-30 22:46:23 +06:00
Sergey M․
a349873226
[atresplayer] Add extractor ( Closes #2341 )
2014-12-30 22:28:07 +06:00
Sergey M․
fccae2b911
[youtube] Add test for age-gate video with encrypted signature
2014-12-30 17:26:21 +06:00
Sergey M.
0129b4dd45
Merge pull request #4598 from 0xced/encrypted-age-gate
...
[youtube] Fix videos with age gate and encrypted signatures
2014-12-30 17:09:02 +06:00
Sergey M․
1c57e7f1f4
[daum] Improve full_id regex
2014-12-30 16:55:53 +06:00
t0mm0
a87bb090d9
[daum] update 'full id' regex
...
fixes #4566
2014-12-29 23:06:56 +00:00
Cédric Luthi
beb95e7781
[youtube] Fix videos with age gate and encrypted signatures
...
The `sts` value is available on the embed webpage, get it from there.
Fixes #4108 .
2014-12-29 22:58:14 +01:00
Sergey M․
0c0a70f4c6
[hitbox] Minor changes
2014-12-30 03:22:07 +06:00
t0mm0
e3947e2b7f
[hitbox] add support for live streams
2014-12-29 20:12:23 +00:00
t0mm0
da3f7fb7f8
[hitbox] add extractor for hitbox vods
2014-12-29 20:12:23 +00:00
Sergey M․
429ddfd38d
[cnn] Add support for hln URL format ( Closes #4595 )
2014-12-30 01:50:28 +06:00
Sergey M․
355e41466d
[hellporno] Extract all formats and improve
2014-12-29 21:33:41 +06:00
Sergey M․
03d9aad87c
Merge branch 'hellporno' of https://github.com/peugeot/youtube-dl into peugeot-hellporno
2014-12-29 21:13:09 +06:00
Sergey M․
6343a5f68e
[xxxymovies] Improve
2014-12-29 21:05:21 +06:00
Sergey M․
00de9a9828
Merge branch 'xxxymovies' of https://github.com/peugeot/youtube-dl into peugeot-xxxymovies
2014-12-29 20:38:28 +06:00
Sergey M․
7fc2cd819e
[cnn] Improve regexes and fix test
2014-12-29 20:27:09 +06:00
Sergey M.
974739aab5
Merge pull request #4543 from akretz/cnn_fix
...
[cnn] Add support for articles with videos (fixes #4541 )
2014-12-29 20:21:39 +06:00
peugeot
0cc4f8e385
[xxxymovies] new ectractor
2014-12-29 11:31:22 +01:00
peugeot
513fd2a872
[hellporno] simplify
2014-12-29 10:38:07 +01:00
Sergey M․
ae6986fb89
[bbccouk] Switch to new JSON playlist format ( Closes #4588 )
2014-12-29 03:00:24 +06:00
Sergey M․
e8e28989eb
[archiveorg] Add test, simplify and modernize
2014-12-29 02:08:46 +06:00
Johannes Knoedtel
ff7a07d5c4
[archiveorg] most metadata fields are optional
...
Example: https://archive.org/details/Cops1922
2014-12-28 20:31:25 +01:00
Sergey M․
5a18403057
[arte.tv] Fix typo
2014-12-28 15:42:29 +06:00
Sergey M․
1b7b1d6eac
[arte.tv:+7] Make quality optional ( Closes #4583 )
2014-12-28 15:41:52 +06:00
Sergey M․
e82def52a9
[alphaporno] Improve
2014-12-27 00:08:04 +06:00
Sergey M․
bcfe9db299
Merge branch 'alphaporno' of https://github.com/peugeot/youtube-dl into peugeot-alphaporno
2014-12-26 23:34:12 +06:00
Sergey M․
f9b9e88646
[eroprofile] Simplify
2014-12-26 23:32:41 +06:00
Sergey M․
c2500434c3
Merge branch 'eroprofile' of https://github.com/peugeot/youtube-dl into peugeot-eroprofile
2014-12-26 23:16:25 +06:00
peugeot
461b00f34a
[eroprofile] new extractor
2014-12-26 17:15:34 +01:00
peugeot
4cda41ac7b
[alphaporno] new extractor
2014-12-26 16:17:35 +01:00
peugeot
6a1c4fbfcb
[hellporno] new extractor
2014-12-26 15:49:12 +01:00
Sergey M․
31424c126f
[sunporno] Modernize
2014-12-26 19:28:51 +06:00
peugeot
2c0b475235
[sunporno] fix duration
2014-12-26 12:49:13 +01:00
Sergey M․
885e4384a1
[teletask] Simplify
2014-12-25 23:26:57 +06:00
Sergey M․
2b8f151094
Merge branch 'teletask' of https://github.com/MaxReimann/youtube-dl into MaxReimann-teletask
2014-12-25 23:06:26 +06:00
Sergey M․
5ac71f0b27
[sohu] Modernize and extract all formats and more metadata ( Closes #4409 , closes #2056 , closes #3009 )
2014-12-25 22:25:05 +06:00
Sergey M․
39ac7c9435
[gameone] Extract duration as float
2014-12-24 19:18:59 +06:00
Tobias Bell
55f0cab3a3
[gameone] This fix resolves issue #4552
...
The duration metadata for certain episodes contained floating point
numbers instead of integers. Now only the integer part will be
interpreted. Also added a test for this
2014-12-23 22:09:21 +01:00
Sergey M․
544dec6298
[smotri] Skip broken tests
2014-12-23 20:33:56 +06:00
Jaime Marquínez Ferrándiz
e0ae1814b1
[sportdeutschland] Fix extraction ( fixes #4544 )
2014-12-22 22:24:19 +01:00
Adrian Kretz
9532d72371
[cnn] Add support for articles with videos ( fixes #4541 )
2014-12-22 18:40:36 +01:00
Sergey M․
1362bbbb4b
[adobetv] Add extractor ( Closes #4536 )
2014-12-22 22:05:47 +06:00
Sergey M․
a8896c5ac2
[crunchyroll] Add .fr domain ( #4537 )
2014-12-22 00:58:15 +06:00
Jaime Marquínez Ferrándiz
5d3808524d
[extractor/common] Update docstring: replace FileDownloader with YoutubeDL
2014-12-21 16:58:29 +01:00
Jaime Marquínez Ferrándiz
c8f167823f
[dbtv] Make sure the 'id' field is a string
2014-12-21 16:57:07 +01:00
Jaime Marquínez Ferrándiz
70f6796e7d
[telecinco] Rename 'episode' group to 'id' in the _VALID_URL regex
...
MiTeleIE now uses '_match_id'
2014-12-21 16:54:53 +01:00
Jaime Marquínez Ferrándiz
85d253af6b
[internetvideoarchive] Update test's duration field
2014-12-21 15:37:21 +01:00
Jaime Marquínez Ferrándiz
a86cbf5876
[rtp] Fix test's id field
2014-12-21 15:28:40 +01:00
Jaime Marquínez Ferrándiz
3f1399de8a
[tmz] Fix test's thumbnail field
2014-12-21 15:26:00 +01:00
Jaime Marquínez Ferrándiz
1f809a8560
[nerdcubed] Style fixes
2014-12-21 15:22:30 +01:00
Jaime Marquínez Ferrándiz
653d14e2f9
[yahoo] Update extraction process
...
Their webpage uses now https://video.media.yql.yahoo.com/v1/video/sapi/streams/ for getting the video info.
2014-12-21 14:47:44 +01:00
Jaime Marquínez Ferrándiz
85fab7e47b
[yahoo] Replace two tests
...
The first one returned an internal server error.
The other doesn't seem to contain a video anymore.
2014-12-21 14:47:12 +01:00
Jaime Marquínez Ferrándiz
3aa9176f08
[yahoo] Improve video id detection ( fixes #4521 )
2014-12-21 14:09:00 +01:00
MaxReimann
33b53b6021
[teletask] Add new extractor
2014-12-21 12:26:47 +01:00
MaxReimann
3f7421b71b
fix test and remove lengthy description
2014-12-21 11:13:59 +01:00
MaxReimann
ee45625290
Add extractor for teletask
2014-12-21 11:01:28 +01:00
Sergey M․
2c2a42587b
[dvtv] Fix thumbnail scheme
2014-12-21 07:38:55 +06:00
Sergey M․
081d6e4784
[dvtv] Simplify
2014-12-21 07:33:58 +06:00
Petr Kutalek
1d4247f64e
[dvtv] Add support for playlists
2014-12-21 01:24:05 +01:00
Sergey M․
1ff30d7b79
[npo] Add support for streams ( Closes #4276 )
2014-12-20 18:30:56 +06:00
Sergey M․
16ea817968
[xtube] Fix and modernize ( Closes #4489 )
2014-12-19 21:56:44 +06:00
Will Glynn
c58843b3a1
[nerdcubed] Add new extractor
...
nerdcubed.co.uk describes videos in a single a feed.json file, providing
references to and metadata on >1300 YouTube videos spread across 3 main
channels as well as guest appareances on other channels via a single HTTP
request.
NerdCubedFeedIE transforms this feed into a youtube-dl playlist, preserving
information present in the upstream JSON (allowing zero-cost title/date
matches) and ultimately referencing the embedded YouTube videos.
2014-12-18 22:32:24 -06:00
Sergey M․
a22524b004
[twitch] Add support for vods ( Closes #4512 )
2014-12-18 21:25:42 +06:00
Philipp Hagemeister
b9465395cb
[dvtv] PEP8 and correct format sorting ( #4502 )
2014-12-17 23:18:06 +01:00
Philipp Hagemeister
edf41477f0
Merge remote-tracking branch 'petrkutalek/dvtv'
2014-12-17 23:12:38 +01:00
Petr Kutalek
5f627b4448
[dvtv] Add new extractor
2014-12-17 15:52:54 +01:00
Sergey M․
748ec66725
[theplatform] Extract captions ( Closes #4495 )
2014-12-17 20:20:40 +06:00
Jaime Marquínez Ferrándiz
e54a3a2f01
[screencastomatic] Remove unused variable
2014-12-17 14:56:30 +01:00
Philipp Hagemeister
27d67ea2ba
[comedycentral] Match URLs with a second ID ( fixes #4499 )
2014-12-17 11:29:35 +01:00
Philipp Hagemeister
6e1b9395c6
[screencastomatic] Add new extractor ( Fixes #4497 )
2014-12-17 10:53:12 +01:00
Philipp Hagemeister
b1ccbed3d4
[nhl] Allow upper-case video IDs ( Fixes #4494 )
2014-12-17 00:26:04 +01:00
Philipp Hagemeister
37381350f8
[aljazeera] Add unicode_literals marker
2014-12-17 00:08:04 +01:00
Philipp Hagemeister
7af808a5ef
Improve code style
2014-12-17 00:06:41 +01:00
Philipp Hagemeister
876bef5937
[mit] Modernize
2014-12-17 00:04:24 +01:00
Philipp Hagemeister
13d27a42cc
[orf:tvthek] Add support for topic URLs ( Fixes #4474 )
2014-12-16 16:45:28 +01:00
Philipp Hagemeister
ec05fee43a
[brightcove] Add shorter URL scheme for other extractors
2014-12-16 16:38:26 +01:00
Philipp Hagemeister
17e0d63957
Merge branch 'master' of github.com:rg3/youtube-dl
2014-12-16 16:03:46 +01:00
Sergey M․
9209fe3878
[allocine] Add test for new URL format
2014-12-16 21:03:10 +06:00
Philipp Hagemeister
84d84211ac
[youtube:feeds] ( Fixes #4486 )
2014-12-16 15:59:31 +01:00
Sergey M.
b4116dcdd5
Merge pull request #4490 from Tailszefox/master
...
[Allocine] Support for more URLs
2014-12-16 20:59:07 +06:00
Jaime Marquínez Ferrándiz
bb18d787b5
[aljazeera] Add extractor ( closes #4487 )
2014-12-16 15:48:01 +01:00
Tailszefox
0647084f39
[Allocine] Support for more URLs
2014-12-16 15:46:04 +01:00
Jaime Marquínez Ferrándiz
4b7df0d30c
[youtube:playlist] Work around buggy playlists ( fixes #4449 )
...
They show a "Load more" button, but they don't have more videos.
The continuation url in the json file was a link to itself, so we ended up in an infinite loop.
2014-12-15 19:19:15 +01:00
Jaime Marquínez Ferrándiz
3013bbb27d
Remove unused imports
2014-12-15 08:24:50 +01:00
Naglis Jonaitis
6f9b54933f
[streamcloud] Modernize
2014-12-15 03:32:17 +02:00
Naglis Jonaitis
1bbe317508
[mooshare] Modernize
2014-12-15 03:31:54 +02:00
Naglis Jonaitis
4a4fbfc967
[yesjapan] Look for datetime inside submit_info
...
Oops..
2014-12-14 18:03:05 +02:00
Naglis Jonaitis
408b5839b1
[yesjapan] Add new extractor ( Closes #4466 )
2014-12-14 17:59:25 +02:00
Philipp Hagemeister
60620368d7
[youtube] Fix player ID detection
2014-12-14 00:43:34 +01:00
Philipp Hagemeister
bad5c1a303
[rtp] Also match e-id-less URLs ( #4382 )
2014-12-14 00:13:07 +01:00
Philipp Hagemeister
4d144be8b0
[bandcamp:album] Do not match plain Bandcamp URLs ( #4461 )
...
The _VALID_URL 1fa174692a
is to broad, since it matches everything beginning with bandcamp.com.
2014-12-13 23:50:06 +01:00
Philipp Hagemeister
d5524947b5
Merge remote-tracking branch 'fstirlitz/master'
2014-12-13 23:05:41 +01:00
Philipp Hagemeister
74f91c4af7
Merge branch 'master' of github.com:rg3/youtube-dl
2014-12-13 23:05:28 +01:00
Philipp Hagemeister
da4d4191a9
Merge branch 'master' of github.com:rg3/youtube-dl
2014-12-13 23:05:22 +01:00
Sergey M․
ac265bef1e
[restudy] Simplify and extract all formats
2014-12-14 03:41:00 +06:00
Mathias Rav
4a0132c570
[Restudy] Add new extractor for restudy.dk
2014-12-13 22:25:32 +01:00
Sergey M․
1fa174692a
[bandcamp:album] Make path optional ( Closes #4461 )
2014-12-14 02:00:54 +06:00
Sergey M․
04c9544187
[bbccouk] Fix vpid warning
2014-12-13 18:47:34 +06:00
Sergey M․
8085fc15cc
[adultswim] Improve segment duration extraction
2014-12-13 18:42:29 +06:00
Philipp Hagemeister
a6620ac28d
[orf] Modernize
2014-12-13 12:41:38 +01:00
Philipp Hagemeister
89e36657cc
[keek] remove unused import
2014-12-13 12:36:46 +01:00
Philipp Hagemeister
7129bed51b
[keek] Modernize and extract uploader
2014-12-13 12:35:45 +01:00
Philipp Hagemeister
1cc79574fc
Fix imports and general cleanup
...
· Import from compat what comes from compat. Yes, some names are available in utils too, but that's an implementation detail.
· Use _match_id consistently whenever possible
· Fix some outdated tests
· Use consistent valid URL (always match the whole protocol, no ^ at start required)
· Use modern test definitions
2014-12-13 12:35:45 +01:00
Philipp Hagemeister
20e35880bf
[streamcz] Update extractor
2014-12-13 12:35:45 +01:00
Philipp Hagemeister
5e1912cfc1
[5min] Remove helper method and modernize
...
Previously, other extractor would go call a private(!) helper method. Instead, just hardcode the 5min:video_id format - it's not if that would ever change.
2014-12-13 12:35:45 +01:00
felix
7668a2c5cb
[comcarcoff] add webpage_url datum
2014-12-12 23:20:34 +01:00
Jaime Marquínez Ferrándiz
26c06f0c51
[youtube:playlist] Remove unused property
2014-12-12 22:26:50 +01:00
Jaime Marquínez Ferrándiz
23d3608c6b
[youtube:channel] Fix extraction ( fixes #4435 )
...
It uses now the same pagination system as playlists
2014-12-12 22:23:54 +01:00
Philipp Hagemeister
baa7081d68
[urort] Update to new multi-format protocol
2014-12-12 20:55:18 +01:00
Philipp Hagemeister
19bf2b4e88
[comcarcoff] Add unicode_literals declaration
2014-12-12 20:37:58 +01:00
Philipp Hagemeister
6a1b20de2a
[urort] Modernize
2014-12-12 20:37:28 +01:00
Philipp Hagemeister
3c864e930d
[comcarcoff] Adapt c62159ea91a04ef82560472b254aef1cc9f70a11
2014-12-12 20:35:17 +01:00
Philipp Hagemeister
dc5596ff54
[comcarcoff] ( #4454 )
2014-12-12 20:32:02 +01:00
Philipp Hagemeister
46d9760f5e
Merge remote-tracking branch 'fstirlitz/master'
2014-12-12 20:17:26 +01:00
Philipp Hagemeister
90d71d3f08
[ooyala] Remove test md5sums
2014-12-12 20:12:51 +01:00
Philipp Hagemeister
e9404524cc
[ninegag] Test for additional properties
2014-12-12 20:10:15 +01:00
felix
dc65a213fd
comediansincarsgettingcoffee.com support
2014-12-12 19:58:44 +01:00
Philipp Hagemeister
4237ba10dc
[pornotube] Adapt to new interface
2014-12-12 19:44:25 +01:00
Naglis Jonaitis
c3f3b29b92
[rtp] Add new extractor ( Closes #4382 )
2014-12-12 20:22:24 +02:00
Sergey M․
07bc9a3530
[nowvideo] Add .li domain ( Closes #4453 )
2014-12-12 22:44:16 +06:00
Philipp Hagemeister
146323a7f8
[groupon] Add extractor ( Fixes #4386 )
2014-12-12 17:39:33 +01:00
Philipp Hagemeister
57e086dcea
[ebaumsworld] Modernize
2014-12-12 17:24:05 +01:00
Sergey M․
58c1f6f0a7
[nbc] Fix extraction ( Closes #4441 )
2014-12-12 22:10:32 +06:00
Philipp Hagemeister
7c7a0d395c
Remove unused imports
2014-12-12 17:07:39 +01:00
Sergey M․
68d301ffd4
[giantbomb] Add extractor ( Closes #4432 )
2014-12-12 21:23:42 +06:00
Philipp Hagemeister
412c617d0f
[cnet] Update to new theplatform infrastructure ( Fixes #2736 )
2014-12-12 15:55:55 +01:00
Philipp Hagemeister
751536f5c8
[goldenmoustache] Remove view count
...
view count is not present anymore, so we can't extract it.
2014-12-12 13:09:55 +01:00
Philipp Hagemeister
025f30ba38
[channel9] Do not return compat_list results anymore
2014-12-12 13:07:43 +01:00
Philipp Hagemeister
0d2fb1d193
[helsinki] Fix extraction
2014-12-12 13:03:16 +01:00
Philipp Hagemeister
82b34105d3
[goshgay] Fix extraction
2014-12-12 12:55:13 +01:00
Philipp Hagemeister
73aeb2dc56
[goshgay] Modernize
2014-12-12 12:44:50 +01:00
Philipp Hagemeister
62651c556a
[howstuffworks] Parse only once, but right ( #4383 )
2014-12-12 04:23:34 +01:00
Philipp Hagemeister
bf94e38d3d
Merge remote-tracking branch 'Tithen-Firion/hsw-update'
2014-12-12 04:10:55 +01:00
Philipp Hagemeister
4f97852316
Remove unused imports
2014-12-12 04:09:32 +01:00
Philipp Hagemeister
f5e43bc695
[vine] Provide alt_title ( Fixes #4448 )
2014-12-12 03:34:28 +01:00
Philipp Hagemeister
63e0f29564
[vine] Modernize
2014-12-12 02:59:52 +01:00
Philipp Hagemeister
42bdd9d051
[cinchcast] Add new extractor ( Fixes #4428 )
2014-12-12 02:57:36 +01:00
Philipp Hagemeister
4e40de6e2a
Merge branch 'master' of github.com:rg3/youtube-dl
2014-12-12 02:14:31 +01:00
Philipp Hagemeister
f17e4c9c28
[screenwavemedia] Simplify ( #3766 )
2014-12-12 02:11:58 +01:00
Philipp Hagemeister
807962f4a1
[pornhd] Adapt to new sources scheme ( Fixes #4446 )
2014-12-11 23:50:25 +01:00
Jaime Marquínez Ferrándiz
9c1aa1d668
[mixcloud] Fix metadata extraction ( fixes #4443 )
2014-12-11 23:16:40 +01:00
Philipp Hagemeister
69f491f14e
Merge remote-tracking branch 'fstirlitz/master'
2014-12-11 17:11:25 +01:00
Philipp Hagemeister
9abd500a74
[zdf:channel] Simplify ( #4427 )
2014-12-11 17:07:59 +01:00
Philipp Hagemeister
cf68bcaeff
Merge remote-tracking branch 'akretz/master'
2014-12-11 16:35:45 +01:00
Philipp Hagemeister
cbe2bd914d
[youtube] Amend test
2014-12-11 16:34:37 +01:00
Philipp Hagemeister
75111274ed
[youtube] Do not warn if DASH manifest is missing ( #4442 )
2014-12-11 16:33:28 +01:00
Philipp Hagemeister
624dcebff6
[youtube] Make category optional ( #4442 )
2014-12-11 16:32:48 +01:00
Philipp Hagemeister
9684f17cde
Merge remote-tracking branch 'akretz/youtube_fix'
2014-12-11 16:28:10 +01:00
Philipp Hagemeister
e52a40abf7
[youtube] Add test case for #4431
2014-12-11 16:28:07 +01:00
Philipp Hagemeister
0daa05961b
Merge branch 'master' of github.com:rg3/youtube-dl
2014-12-11 16:23:01 +01:00
Naglis Jonaitis
158731f83e
[tvplay] Don't raise an exception if is_geo_blocked
is True
...
Videos which return `is_geo_blocked' to be True can actually be downloaded from
the country to which the video is restricted
2014-12-11 17:07:50 +02:00
Adrian Kretz
24270b0301
[youtube] The case that 'url_encoded_fmt_stream_map' or 'adaptive_fmts' is the empty string is handled accordingly ( fixes #4431 )
2014-12-11 16:00:46 +01:00
Naglis Jonaitis
3c1b81b957
[ntv] Rename flash_ver
to flash_version
in the format dict
...
RTMP downloader uses `flash_version`
2014-12-11 16:58:45 +02:00
Philipp Hagemeister
45c24df512
Merge branch 'master' of github.com:rg3/youtube-dl
2014-12-11 15:27:54 +01:00
Sergey M․
bf671b605e
[behindkink] Remove superfluous whitespace
2014-12-11 20:09:52 +06:00
Sergey M․
09c82fbc9a
[behindkink] Simplify
2014-12-11 20:06:19 +06:00
5moufl
d6f78a354d
[BehindKink] Replace test
...
Old one is not accessible anymore
2014-12-11 14:26:59 +01:00
5moufl
e0b9d47387
[BehindKink] Update URL extraction
2014-12-11 14:25:26 +01:00
Philipp Hagemeister
4bb4a18876
[youtube] Fix imports
2014-12-11 10:08:17 +01:00
Adrian Kretz
8560c61842
[zdf] Add support for channels
2014-12-10 17:29:03 +01:00
Sergey M․
a81bbebf44
[smotri:broadcast] Fix extraction
2014-12-10 20:22:49 +06:00
Philipp Hagemeister
2fc9f2b41d
[facebook] Make thumbnail and duration optional
...
Fixes #4425 .
Looks like both properties aren't given to us anymore. For now, just fall back to not returning them.
2014-12-10 15:18:36 +01:00
Philipp Hagemeister
da27660014
[youtube] Pass in all variables to DASH manifest ( Fixes #4424 )
2014-12-10 14:39:00 +01:00
Philipp Hagemeister
774e208f94
[youtube] Handle missing DASH manifest ( Fixes #4421 , fixes #4420 )
2014-12-10 13:21:24 +01:00
Sergey M․
b89a938687
[bet] Add extractor ( Closes #4416 )
2014-12-09 22:29:01 +06:00
Sergey M․
e89a2aabed
[extractor/common] Add generic SMIL formats extraction routine
2014-12-09 22:28:28 +06:00
Philipp Hagemeister
f58766ce5c
[extractor/common] Document ie_key in url results
2014-12-09 10:58:06 +01:00
Philipp Hagemeister
d4800f3c3f
Merge branch 'master' of github.com:rg3/youtube-dl
2014-12-08 17:17:31 +01:00
Philipp Hagemeister
09a5dd2d3b
[bliptv] Add support for audio-only files ( Fixes #4404 )
2014-12-08 17:17:22 +01:00
Sergey M․
819039ee63
[tvigle] Update test and modernize
2014-12-08 22:03:02 +06:00
felix
ce36339575
add teamfourstar.com support
2014-12-08 17:01:22 +01:00
felix
684712076f
add direct screenwavemedia.com URL support
2014-12-08 17:01:22 +01:00
Jaime Marquínez Ferrándiz
603c92080f
[nhl] Make sure we add '_sd' before the extension ( fixes #4397 )
...
'.replace' would find the first dot in the path.
2014-12-07 11:26:07 +01:00
Sergey M․
6a52eed80e
[prosiebensat1] Improve and simplify
2014-12-07 01:46:44 +06:00