]> jfr.im git - yt-dlp.git/commitdiff
[skip travis] renaming
authorUnknown <redacted>
Wed, 2 Sep 2020 18:25:25 +0000 (20:25 +0200)
committerUnknown <redacted>
Wed, 2 Sep 2020 18:25:25 +0000 (20:25 +0200)
to avoid using same folder when using pip install for example

861 files changed:
MANIFEST.in
Makefile
README.md
devscripts/bash-completion.in
devscripts/bash-completion.py
devscripts/buildserver.py
devscripts/check-porn.py
devscripts/create-github-release.py
devscripts/fish-completion.in
devscripts/fish-completion.py
devscripts/generate_aes_testdata.py
devscripts/gh-pages/add-version.py
devscripts/gh-pages/update-feed.py
devscripts/gh-pages/update-sites.py
devscripts/make_contributing.py
devscripts/make_issue_template.py
devscripts/make_lazy_extractors.py
devscripts/make_supportedsites.py
devscripts/prepare_manpage.py
devscripts/release.sh
devscripts/show-downloads-statistics.py
devscripts/zsh-completion.in
devscripts/zsh-completion.py
docs/Makefile
docs/conf.py
docs/index.rst
docs/module_guide.rst
make_win.bat
setup.cfg
setup.py
test/helper.py
test/test_InfoExtractor.py
test/test_YoutubeDL.py
test/test_YoutubeDLCookieJar.py
test/test_aes.py
test/test_age_restriction.py
test/test_all_urls.py
test/test_cache.py
test/test_compat.py
test/test_download.py
test/test_downloader_http.py
test/test_execution.py
test/test_http.py
test/test_iqiyi_sdk_interpreter.py
test/test_jsinterp.py
test/test_netrc.py
test/test_options.py
test/test_postprocessors.py
test/test_socks.py
test/test_subtitles.py
test/test_swfinterp.py
test/test_update.py
test/test_utils.py
test/test_verbose_output.py
test/test_write_annotations.py
test/test_youtube_chapters.py
test/test_youtube_lists.py
test/test_youtube_signature.py
tox.ini
youtube-dl.plugin.zsh
youtube_dlc/YoutubeDL.py [moved from youtube_dl/YoutubeDL.py with 99% similarity, mode: 0644]
youtube_dlc/__init__.py [moved from youtube_dl/__init__.py with 99% similarity]
youtube_dlc/__main__.py [moved from youtube_dl/__main__.py with 73% similarity, mode: 0644]
youtube_dlc/aes.py [moved from youtube_dl/aes.py with 100% similarity]
youtube_dlc/cache.py [moved from youtube_dl/cache.py with 98% similarity]
youtube_dlc/compat.py [moved from youtube_dl/compat.py with 99% similarity]
youtube_dlc/downloader/__init__.py [moved from youtube_dl/downloader/__init__.py with 100% similarity]
youtube_dlc/downloader/common.py [moved from youtube_dl/downloader/common.py with 99% similarity]
youtube_dlc/downloader/dash.py [moved from youtube_dl/downloader/dash.py with 100% similarity]
youtube_dlc/downloader/external.py [moved from youtube_dl/downloader/external.py with 100% similarity]
youtube_dlc/downloader/f4m.py [moved from youtube_dl/downloader/f4m.py with 100% similarity]
youtube_dlc/downloader/fragment.py [moved from youtube_dl/downloader/fragment.py with 98% similarity]
youtube_dlc/downloader/hls.py [moved from youtube_dl/downloader/hls.py with 100% similarity]
youtube_dlc/downloader/http.py [moved from youtube_dl/downloader/http.py with 100% similarity]
youtube_dlc/downloader/ism.py [moved from youtube_dl/downloader/ism.py with 100% similarity]
youtube_dlc/downloader/rtmp.py [moved from youtube_dl/downloader/rtmp.py with 100% similarity]
youtube_dlc/downloader/rtsp.py [moved from youtube_dl/downloader/rtsp.py with 100% similarity]
youtube_dlc/downloader/youtube_live_chat.py [moved from youtube_dl/downloader/youtube_live_chat.py with 100% similarity]
youtube_dlc/extractor/__init__.py [moved from youtube_dl/extractor/__init__.py with 100% similarity]
youtube_dlc/extractor/abc.py [moved from youtube_dl/extractor/abc.py with 100% similarity]
youtube_dlc/extractor/abcnews.py [moved from youtube_dl/extractor/abcnews.py with 100% similarity]
youtube_dlc/extractor/abcotvs.py [moved from youtube_dl/extractor/abcotvs.py with 100% similarity]
youtube_dlc/extractor/academicearth.py [moved from youtube_dl/extractor/academicearth.py with 100% similarity]
youtube_dlc/extractor/acast.py [moved from youtube_dl/extractor/acast.py with 100% similarity]
youtube_dlc/extractor/adn.py [moved from youtube_dl/extractor/adn.py with 100% similarity]
youtube_dlc/extractor/adobeconnect.py [moved from youtube_dl/extractor/adobeconnect.py with 100% similarity]
youtube_dlc/extractor/adobepass.py [moved from youtube_dl/extractor/adobepass.py with 100% similarity]
youtube_dlc/extractor/adobetv.py [moved from youtube_dl/extractor/adobetv.py with 100% similarity]
youtube_dlc/extractor/adultswim.py [moved from youtube_dl/extractor/adultswim.py with 100% similarity]
youtube_dlc/extractor/aenetworks.py [moved from youtube_dl/extractor/aenetworks.py with 100% similarity]
youtube_dlc/extractor/afreecatv.py [moved from youtube_dl/extractor/afreecatv.py with 100% similarity]
youtube_dlc/extractor/airmozilla.py [moved from youtube_dl/extractor/airmozilla.py with 100% similarity]
youtube_dlc/extractor/aliexpress.py [moved from youtube_dl/extractor/aliexpress.py with 100% similarity]
youtube_dlc/extractor/aljazeera.py [moved from youtube_dl/extractor/aljazeera.py with 100% similarity]
youtube_dlc/extractor/allocine.py [moved from youtube_dl/extractor/allocine.py with 100% similarity]
youtube_dlc/extractor/alphaporno.py [moved from youtube_dl/extractor/alphaporno.py with 100% similarity]
youtube_dlc/extractor/amcnetworks.py [moved from youtube_dl/extractor/amcnetworks.py with 100% similarity]
youtube_dlc/extractor/americastestkitchen.py [moved from youtube_dl/extractor/americastestkitchen.py with 100% similarity]
youtube_dlc/extractor/amp.py [moved from youtube_dl/extractor/amp.py with 100% similarity]
youtube_dlc/extractor/animeondemand.py [moved from youtube_dl/extractor/animeondemand.py with 100% similarity]
youtube_dlc/extractor/anvato.py [moved from youtube_dl/extractor/anvato.py with 100% similarity]
youtube_dlc/extractor/aol.py [moved from youtube_dl/extractor/aol.py with 100% similarity]
youtube_dlc/extractor/apa.py [moved from youtube_dl/extractor/apa.py with 100% similarity]
youtube_dlc/extractor/aparat.py [moved from youtube_dl/extractor/aparat.py with 100% similarity]
youtube_dlc/extractor/appleconnect.py [moved from youtube_dl/extractor/appleconnect.py with 100% similarity]
youtube_dlc/extractor/appletrailers.py [moved from youtube_dl/extractor/appletrailers.py with 99% similarity]
youtube_dlc/extractor/archiveorg.py [moved from youtube_dl/extractor/archiveorg.py with 100% similarity]
youtube_dlc/extractor/ard.py [moved from youtube_dl/extractor/ard.py with 100% similarity]
youtube_dlc/extractor/arkena.py [moved from youtube_dl/extractor/arkena.py with 100% similarity]
youtube_dlc/extractor/arte.py [moved from youtube_dl/extractor/arte.py with 100% similarity]
youtube_dlc/extractor/asiancrush.py [moved from youtube_dl/extractor/asiancrush.py with 100% similarity]
youtube_dlc/extractor/atresplayer.py [moved from youtube_dl/extractor/atresplayer.py with 100% similarity]
youtube_dlc/extractor/atttechchannel.py [moved from youtube_dl/extractor/atttechchannel.py with 100% similarity]
youtube_dlc/extractor/atvat.py [moved from youtube_dl/extractor/atvat.py with 100% similarity]
youtube_dlc/extractor/audimedia.py [moved from youtube_dl/extractor/audimedia.py with 100% similarity]
youtube_dlc/extractor/audioboom.py [moved from youtube_dl/extractor/audioboom.py with 100% similarity]
youtube_dlc/extractor/audiomack.py [moved from youtube_dl/extractor/audiomack.py with 100% similarity]
youtube_dlc/extractor/awaan.py [moved from youtube_dl/extractor/awaan.py with 100% similarity]
youtube_dlc/extractor/aws.py [moved from youtube_dl/extractor/aws.py with 100% similarity]
youtube_dlc/extractor/azmedien.py [moved from youtube_dl/extractor/azmedien.py with 100% similarity]
youtube_dlc/extractor/baidu.py [moved from youtube_dl/extractor/baidu.py with 100% similarity]
youtube_dlc/extractor/bandcamp.py [moved from youtube_dl/extractor/bandcamp.py with 98% similarity]
youtube_dlc/extractor/bbc.py [moved from youtube_dl/extractor/bbc.py with 100% similarity]
youtube_dlc/extractor/beampro.py [moved from youtube_dl/extractor/beampro.py with 100% similarity]
youtube_dlc/extractor/beatport.py [moved from youtube_dl/extractor/beatport.py with 100% similarity]
youtube_dlc/extractor/beeg.py [moved from youtube_dl/extractor/beeg.py with 100% similarity]
youtube_dlc/extractor/behindkink.py [moved from youtube_dl/extractor/behindkink.py with 100% similarity]
youtube_dlc/extractor/bellmedia.py [moved from youtube_dl/extractor/bellmedia.py with 100% similarity]
youtube_dlc/extractor/bet.py [moved from youtube_dl/extractor/bet.py with 100% similarity]
youtube_dlc/extractor/bfi.py [moved from youtube_dl/extractor/bfi.py with 100% similarity]
youtube_dlc/extractor/bigflix.py [moved from youtube_dl/extractor/bigflix.py with 100% similarity]
youtube_dlc/extractor/bild.py [moved from youtube_dl/extractor/bild.py with 100% similarity]
youtube_dlc/extractor/bilibili.py [moved from youtube_dl/extractor/bilibili.py with 99% similarity]
youtube_dlc/extractor/biobiochiletv.py [moved from youtube_dl/extractor/biobiochiletv.py with 100% similarity]
youtube_dlc/extractor/biqle.py [moved from youtube_dl/extractor/biqle.py with 100% similarity]
youtube_dlc/extractor/bitchute.py [moved from youtube_dl/extractor/bitchute.py with 100% similarity]
youtube_dlc/extractor/bleacherreport.py [moved from youtube_dl/extractor/bleacherreport.py with 100% similarity]
youtube_dlc/extractor/blinkx.py [moved from youtube_dl/extractor/blinkx.py with 100% similarity]
youtube_dlc/extractor/bloomberg.py [moved from youtube_dl/extractor/bloomberg.py with 100% similarity]
youtube_dlc/extractor/bokecc.py [moved from youtube_dl/extractor/bokecc.py with 100% similarity]
youtube_dlc/extractor/bostonglobe.py [moved from youtube_dl/extractor/bostonglobe.py with 100% similarity]
youtube_dlc/extractor/bpb.py [moved from youtube_dl/extractor/bpb.py with 100% similarity]
youtube_dlc/extractor/br.py [moved from youtube_dl/extractor/br.py with 100% similarity]
youtube_dlc/extractor/bravotv.py [moved from youtube_dl/extractor/bravotv.py with 100% similarity]
youtube_dlc/extractor/breakcom.py [moved from youtube_dl/extractor/breakcom.py with 100% similarity]
youtube_dlc/extractor/brightcove.py [moved from youtube_dl/extractor/brightcove.py with 100% similarity]
youtube_dlc/extractor/businessinsider.py [moved from youtube_dl/extractor/businessinsider.py with 100% similarity]
youtube_dlc/extractor/buzzfeed.py [moved from youtube_dl/extractor/buzzfeed.py with 100% similarity]
youtube_dlc/extractor/byutv.py [moved from youtube_dl/extractor/byutv.py with 100% similarity]
youtube_dlc/extractor/c56.py [moved from youtube_dl/extractor/c56.py with 100% similarity]
youtube_dlc/extractor/camdemy.py [moved from youtube_dl/extractor/camdemy.py with 100% similarity]
youtube_dlc/extractor/cammodels.py [moved from youtube_dl/extractor/cammodels.py with 100% similarity]
youtube_dlc/extractor/camtube.py [moved from youtube_dl/extractor/camtube.py with 100% similarity]
youtube_dlc/extractor/camwithher.py [moved from youtube_dl/extractor/camwithher.py with 100% similarity]
youtube_dlc/extractor/canalc2.py [moved from youtube_dl/extractor/canalc2.py with 100% similarity]
youtube_dlc/extractor/canalplus.py [moved from youtube_dl/extractor/canalplus.py with 100% similarity]
youtube_dlc/extractor/canvas.py [moved from youtube_dl/extractor/canvas.py with 100% similarity]
youtube_dlc/extractor/carambatv.py [moved from youtube_dl/extractor/carambatv.py with 100% similarity]
youtube_dlc/extractor/cartoonnetwork.py [moved from youtube_dl/extractor/cartoonnetwork.py with 100% similarity]
youtube_dlc/extractor/cbc.py [moved from youtube_dl/extractor/cbc.py with 100% similarity]
youtube_dlc/extractor/cbs.py [moved from youtube_dl/extractor/cbs.py with 100% similarity]
youtube_dlc/extractor/cbsinteractive.py [moved from youtube_dl/extractor/cbsinteractive.py with 100% similarity]
youtube_dlc/extractor/cbslocal.py [moved from youtube_dl/extractor/cbslocal.py with 100% similarity]
youtube_dlc/extractor/cbsnews.py [moved from youtube_dl/extractor/cbsnews.py with 100% similarity]
youtube_dlc/extractor/cbssports.py [moved from youtube_dl/extractor/cbssports.py with 100% similarity]
youtube_dlc/extractor/ccc.py [moved from youtube_dl/extractor/ccc.py with 100% similarity]
youtube_dlc/extractor/ccma.py [moved from youtube_dl/extractor/ccma.py with 100% similarity]
youtube_dlc/extractor/cctv.py [moved from youtube_dl/extractor/cctv.py with 100% similarity]
youtube_dlc/extractor/cda.py [moved from youtube_dl/extractor/cda.py with 100% similarity]
youtube_dlc/extractor/ceskatelevize.py [moved from youtube_dl/extractor/ceskatelevize.py with 100% similarity]
youtube_dlc/extractor/channel9.py [moved from youtube_dl/extractor/channel9.py with 100% similarity]
youtube_dlc/extractor/charlierose.py [moved from youtube_dl/extractor/charlierose.py with 100% similarity]
youtube_dlc/extractor/chaturbate.py [moved from youtube_dl/extractor/chaturbate.py with 100% similarity]
youtube_dlc/extractor/chilloutzone.py [moved from youtube_dl/extractor/chilloutzone.py with 100% similarity]
youtube_dlc/extractor/chirbit.py [moved from youtube_dl/extractor/chirbit.py with 100% similarity]
youtube_dlc/extractor/cinchcast.py [moved from youtube_dl/extractor/cinchcast.py with 100% similarity]
youtube_dlc/extractor/cinemax.py [moved from youtube_dl/extractor/cinemax.py with 100% similarity]
youtube_dlc/extractor/ciscolive.py [moved from youtube_dl/extractor/ciscolive.py with 100% similarity]
youtube_dlc/extractor/cjsw.py [moved from youtube_dl/extractor/cjsw.py with 100% similarity]
youtube_dlc/extractor/cliphunter.py [moved from youtube_dl/extractor/cliphunter.py with 100% similarity]
youtube_dlc/extractor/clippit.py [moved from youtube_dl/extractor/clippit.py with 100% similarity]
youtube_dlc/extractor/cliprs.py [moved from youtube_dl/extractor/cliprs.py with 100% similarity]
youtube_dlc/extractor/clipsyndicate.py [moved from youtube_dl/extractor/clipsyndicate.py with 100% similarity]
youtube_dlc/extractor/closertotruth.py [moved from youtube_dl/extractor/closertotruth.py with 100% similarity]
youtube_dlc/extractor/cloudflarestream.py [moved from youtube_dl/extractor/cloudflarestream.py with 100% similarity]
youtube_dlc/extractor/cloudy.py [moved from youtube_dl/extractor/cloudy.py with 100% similarity]
youtube_dlc/extractor/clubic.py [moved from youtube_dl/extractor/clubic.py with 100% similarity]
youtube_dlc/extractor/clyp.py [moved from youtube_dl/extractor/clyp.py with 100% similarity]
youtube_dlc/extractor/cmt.py [moved from youtube_dl/extractor/cmt.py with 100% similarity]
youtube_dlc/extractor/cnbc.py [moved from youtube_dl/extractor/cnbc.py with 100% similarity]
youtube_dlc/extractor/cnn.py [moved from youtube_dl/extractor/cnn.py with 100% similarity]
youtube_dlc/extractor/comedycentral.py [moved from youtube_dl/extractor/comedycentral.py with 100% similarity]
youtube_dlc/extractor/common.py [moved from youtube_dl/extractor/common.py with 99% similarity]
youtube_dlc/extractor/commonmistakes.py [moved from youtube_dl/extractor/commonmistakes.py with 92% similarity]
youtube_dlc/extractor/commonprotocols.py [moved from youtube_dl/extractor/commonprotocols.py with 100% similarity]
youtube_dlc/extractor/condenast.py [moved from youtube_dl/extractor/condenast.py with 100% similarity]
youtube_dlc/extractor/contv.py [moved from youtube_dl/extractor/contv.py with 100% similarity]
youtube_dlc/extractor/corus.py [moved from youtube_dl/extractor/corus.py with 100% similarity]
youtube_dlc/extractor/coub.py [moved from youtube_dl/extractor/coub.py with 100% similarity]
youtube_dlc/extractor/cracked.py [moved from youtube_dl/extractor/cracked.py with 100% similarity]
youtube_dlc/extractor/crackle.py [moved from youtube_dl/extractor/crackle.py with 100% similarity]
youtube_dlc/extractor/crooksandliars.py [moved from youtube_dl/extractor/crooksandliars.py with 100% similarity]
youtube_dlc/extractor/crunchyroll.py [moved from youtube_dl/extractor/crunchyroll.py with 100% similarity]
youtube_dlc/extractor/cspan.py [moved from youtube_dl/extractor/cspan.py with 100% similarity]
youtube_dlc/extractor/ctsnews.py [moved from youtube_dl/extractor/ctsnews.py with 100% similarity]
youtube_dlc/extractor/ctvnews.py [moved from youtube_dl/extractor/ctvnews.py with 100% similarity]
youtube_dlc/extractor/cultureunplugged.py [moved from youtube_dl/extractor/cultureunplugged.py with 100% similarity]
youtube_dlc/extractor/curiositystream.py [moved from youtube_dl/extractor/curiositystream.py with 100% similarity]
youtube_dlc/extractor/cwtv.py [moved from youtube_dl/extractor/cwtv.py with 100% similarity]
youtube_dlc/extractor/dailymail.py [moved from youtube_dl/extractor/dailymail.py with 100% similarity]
youtube_dlc/extractor/dailymotion.py [moved from youtube_dl/extractor/dailymotion.py with 100% similarity]
youtube_dlc/extractor/daum.py [moved from youtube_dl/extractor/daum.py with 100% similarity]
youtube_dlc/extractor/dbtv.py [moved from youtube_dl/extractor/dbtv.py with 100% similarity]
youtube_dlc/extractor/dctp.py [moved from youtube_dl/extractor/dctp.py with 100% similarity]
youtube_dlc/extractor/deezer.py [moved from youtube_dl/extractor/deezer.py with 100% similarity]
youtube_dlc/extractor/defense.py [moved from youtube_dl/extractor/defense.py with 100% similarity]
youtube_dlc/extractor/democracynow.py [moved from youtube_dl/extractor/democracynow.py with 100% similarity]
youtube_dlc/extractor/dfb.py [moved from youtube_dl/extractor/dfb.py with 100% similarity]
youtube_dlc/extractor/dhm.py [moved from youtube_dl/extractor/dhm.py with 100% similarity]
youtube_dlc/extractor/digg.py [moved from youtube_dl/extractor/digg.py with 100% similarity]
youtube_dlc/extractor/digiteka.py [moved from youtube_dl/extractor/digiteka.py with 100% similarity]
youtube_dlc/extractor/discovery.py [moved from youtube_dl/extractor/discovery.py with 100% similarity]
youtube_dlc/extractor/discoverygo.py [moved from youtube_dl/extractor/discoverygo.py with 100% similarity]
youtube_dlc/extractor/discoverynetworks.py [moved from youtube_dl/extractor/discoverynetworks.py with 100% similarity]
youtube_dlc/extractor/discoveryvr.py [moved from youtube_dl/extractor/discoveryvr.py with 100% similarity]
youtube_dlc/extractor/disney.py [moved from youtube_dl/extractor/disney.py with 100% similarity]
youtube_dlc/extractor/dispeak.py [moved from youtube_dl/extractor/dispeak.py with 100% similarity]
youtube_dlc/extractor/dlive.py [moved from youtube_dl/extractor/dlive.py with 100% similarity]
youtube_dlc/extractor/doodstream.py [moved from youtube_dl/extractor/doodstream.py with 100% similarity]
youtube_dlc/extractor/dotsub.py [moved from youtube_dl/extractor/dotsub.py with 100% similarity]
youtube_dlc/extractor/douyutv.py [moved from youtube_dl/extractor/douyutv.py with 100% similarity]
youtube_dlc/extractor/dplay.py [moved from youtube_dl/extractor/dplay.py with 100% similarity]
youtube_dlc/extractor/drbonanza.py [moved from youtube_dl/extractor/drbonanza.py with 100% similarity]
youtube_dlc/extractor/dreisat.py [moved from youtube_dl/extractor/dreisat.py with 100% similarity]
youtube_dlc/extractor/dropbox.py [moved from youtube_dl/extractor/dropbox.py with 90% similarity]
youtube_dlc/extractor/drtuber.py [moved from youtube_dl/extractor/drtuber.py with 100% similarity]
youtube_dlc/extractor/drtv.py [moved from youtube_dl/extractor/drtv.py with 100% similarity]
youtube_dlc/extractor/dtube.py [moved from youtube_dl/extractor/dtube.py with 100% similarity]
youtube_dlc/extractor/dumpert.py [moved from youtube_dl/extractor/dumpert.py with 100% similarity]
youtube_dlc/extractor/dvtv.py [moved from youtube_dl/extractor/dvtv.py with 100% similarity]
youtube_dlc/extractor/dw.py [moved from youtube_dl/extractor/dw.py with 100% similarity]
youtube_dlc/extractor/eagleplatform.py [moved from youtube_dl/extractor/eagleplatform.py with 100% similarity]
youtube_dlc/extractor/ebaumsworld.py [moved from youtube_dl/extractor/ebaumsworld.py with 100% similarity]
youtube_dlc/extractor/echomsk.py [moved from youtube_dl/extractor/echomsk.py with 100% similarity]
youtube_dlc/extractor/egghead.py [moved from youtube_dl/extractor/egghead.py with 100% similarity]
youtube_dlc/extractor/ehow.py [moved from youtube_dl/extractor/ehow.py with 100% similarity]
youtube_dlc/extractor/eighttracks.py [moved from youtube_dl/extractor/eighttracks.py with 85% similarity]
youtube_dlc/extractor/einthusan.py [moved from youtube_dl/extractor/einthusan.py with 100% similarity]
youtube_dlc/extractor/eitb.py [moved from youtube_dl/extractor/eitb.py with 100% similarity]
youtube_dlc/extractor/ellentube.py [moved from youtube_dl/extractor/ellentube.py with 100% similarity]
youtube_dlc/extractor/elpais.py [moved from youtube_dl/extractor/elpais.py with 100% similarity]
youtube_dlc/extractor/embedly.py [moved from youtube_dl/extractor/embedly.py with 100% similarity]
youtube_dlc/extractor/engadget.py [moved from youtube_dl/extractor/engadget.py with 100% similarity]
youtube_dlc/extractor/eporner.py [moved from youtube_dl/extractor/eporner.py with 100% similarity]
youtube_dlc/extractor/eroprofile.py [moved from youtube_dl/extractor/eroprofile.py with 100% similarity]
youtube_dlc/extractor/escapist.py [moved from youtube_dl/extractor/escapist.py with 100% similarity]
youtube_dlc/extractor/espn.py [moved from youtube_dl/extractor/espn.py with 100% similarity]
youtube_dlc/extractor/esri.py [moved from youtube_dl/extractor/esri.py with 100% similarity]
youtube_dlc/extractor/europa.py [moved from youtube_dl/extractor/europa.py with 100% similarity]
youtube_dlc/extractor/everyonesmixtape.py [moved from youtube_dl/extractor/everyonesmixtape.py with 100% similarity]
youtube_dlc/extractor/expotv.py [moved from youtube_dl/extractor/expotv.py with 100% similarity]
youtube_dlc/extractor/expressen.py [moved from youtube_dl/extractor/expressen.py with 100% similarity]
youtube_dlc/extractor/extractors.py [moved from youtube_dl/extractor/extractors.py with 100% similarity]
youtube_dlc/extractor/extremetube.py [moved from youtube_dl/extractor/extremetube.py with 100% similarity]
youtube_dlc/extractor/eyedotv.py [moved from youtube_dl/extractor/eyedotv.py with 100% similarity]
youtube_dlc/extractor/facebook.py [moved from youtube_dl/extractor/facebook.py with 100% similarity]
youtube_dlc/extractor/faz.py [moved from youtube_dl/extractor/faz.py with 100% similarity]
youtube_dlc/extractor/fc2.py [moved from youtube_dl/extractor/fc2.py with 100% similarity]
youtube_dlc/extractor/fczenit.py [moved from youtube_dl/extractor/fczenit.py with 100% similarity]
youtube_dlc/extractor/filmon.py [moved from youtube_dl/extractor/filmon.py with 100% similarity]
youtube_dlc/extractor/filmweb.py [moved from youtube_dl/extractor/filmweb.py with 100% similarity]
youtube_dlc/extractor/firsttv.py [moved from youtube_dl/extractor/firsttv.py with 100% similarity]
youtube_dlc/extractor/fivemin.py [moved from youtube_dl/extractor/fivemin.py with 100% similarity]
youtube_dlc/extractor/fivetv.py [moved from youtube_dl/extractor/fivetv.py with 100% similarity]
youtube_dlc/extractor/flickr.py [moved from youtube_dl/extractor/flickr.py with 100% similarity]
youtube_dlc/extractor/folketinget.py [moved from youtube_dl/extractor/folketinget.py with 100% similarity]
youtube_dlc/extractor/footyroom.py [moved from youtube_dl/extractor/footyroom.py with 100% similarity]
youtube_dlc/extractor/formula1.py [moved from youtube_dl/extractor/formula1.py with 100% similarity]
youtube_dlc/extractor/fourtube.py [moved from youtube_dl/extractor/fourtube.py with 100% similarity]
youtube_dlc/extractor/fox.py [moved from youtube_dl/extractor/fox.py with 100% similarity]
youtube_dlc/extractor/fox9.py [moved from youtube_dl/extractor/fox9.py with 100% similarity]
youtube_dlc/extractor/foxgay.py [moved from youtube_dl/extractor/foxgay.py with 100% similarity]
youtube_dlc/extractor/foxnews.py [moved from youtube_dl/extractor/foxnews.py with 100% similarity]
youtube_dlc/extractor/foxsports.py [moved from youtube_dl/extractor/foxsports.py with 100% similarity]
youtube_dlc/extractor/franceculture.py [moved from youtube_dl/extractor/franceculture.py with 100% similarity]
youtube_dlc/extractor/franceinter.py [moved from youtube_dl/extractor/franceinter.py with 100% similarity]
youtube_dlc/extractor/francetv.py [moved from youtube_dl/extractor/francetv.py with 100% similarity]
youtube_dlc/extractor/freesound.py [moved from youtube_dl/extractor/freesound.py with 100% similarity]
youtube_dlc/extractor/freespeech.py [moved from youtube_dl/extractor/freespeech.py with 100% similarity]
youtube_dlc/extractor/freshlive.py [moved from youtube_dl/extractor/freshlive.py with 100% similarity]
youtube_dlc/extractor/frontendmasters.py [moved from youtube_dl/extractor/frontendmasters.py with 100% similarity]
youtube_dlc/extractor/funimation.py [moved from youtube_dl/extractor/funimation.py with 100% similarity]
youtube_dlc/extractor/funk.py [moved from youtube_dl/extractor/funk.py with 100% similarity]
youtube_dlc/extractor/fusion.py [moved from youtube_dl/extractor/fusion.py with 100% similarity]
youtube_dlc/extractor/fxnetworks.py [moved from youtube_dl/extractor/fxnetworks.py with 100% similarity]
youtube_dlc/extractor/gaia.py [moved from youtube_dl/extractor/gaia.py with 100% similarity]
youtube_dlc/extractor/gameinformer.py [moved from youtube_dl/extractor/gameinformer.py with 100% similarity]
youtube_dlc/extractor/gamespot.py [moved from youtube_dl/extractor/gamespot.py with 100% similarity]
youtube_dlc/extractor/gamestar.py [moved from youtube_dl/extractor/gamestar.py with 100% similarity]
youtube_dlc/extractor/gaskrank.py [moved from youtube_dl/extractor/gaskrank.py with 100% similarity]
youtube_dlc/extractor/gazeta.py [moved from youtube_dl/extractor/gazeta.py with 100% similarity]
youtube_dlc/extractor/gdcvault.py [moved from youtube_dl/extractor/gdcvault.py with 100% similarity]
youtube_dlc/extractor/generic.py [moved from youtube_dl/extractor/generic.py with 99% similarity]
youtube_dlc/extractor/gfycat.py [moved from youtube_dl/extractor/gfycat.py with 100% similarity]
youtube_dlc/extractor/giantbomb.py [moved from youtube_dl/extractor/giantbomb.py with 100% similarity]
youtube_dlc/extractor/giga.py [moved from youtube_dl/extractor/giga.py with 100% similarity]
youtube_dlc/extractor/gigya.py [moved from youtube_dl/extractor/gigya.py with 100% similarity]
youtube_dlc/extractor/glide.py [moved from youtube_dl/extractor/glide.py with 100% similarity]
youtube_dlc/extractor/globo.py [moved from youtube_dl/extractor/globo.py with 100% similarity]
youtube_dlc/extractor/go.py [moved from youtube_dl/extractor/go.py with 100% similarity]
youtube_dlc/extractor/godtube.py [moved from youtube_dl/extractor/godtube.py with 100% similarity]
youtube_dlc/extractor/golem.py [moved from youtube_dl/extractor/golem.py with 100% similarity]
youtube_dlc/extractor/googledrive.py [moved from youtube_dl/extractor/googledrive.py with 100% similarity]
youtube_dlc/extractor/googleplus.py [moved from youtube_dl/extractor/googleplus.py with 100% similarity]
youtube_dlc/extractor/googlesearch.py [moved from youtube_dl/extractor/googlesearch.py with 100% similarity]
youtube_dlc/extractor/goshgay.py [moved from youtube_dl/extractor/goshgay.py with 100% similarity]
youtube_dlc/extractor/gputechconf.py [moved from youtube_dl/extractor/gputechconf.py with 100% similarity]
youtube_dlc/extractor/groupon.py [moved from youtube_dl/extractor/groupon.py with 100% similarity]
youtube_dlc/extractor/hbo.py [moved from youtube_dl/extractor/hbo.py with 100% similarity]
youtube_dlc/extractor/hearthisat.py [moved from youtube_dl/extractor/hearthisat.py with 100% similarity]
youtube_dlc/extractor/heise.py [moved from youtube_dl/extractor/heise.py with 100% similarity]
youtube_dlc/extractor/hellporno.py [moved from youtube_dl/extractor/hellporno.py with 100% similarity]
youtube_dlc/extractor/helsinki.py [moved from youtube_dl/extractor/helsinki.py with 100% similarity]
youtube_dlc/extractor/hentaistigma.py [moved from youtube_dl/extractor/hentaistigma.py with 100% similarity]
youtube_dlc/extractor/hgtv.py [moved from youtube_dl/extractor/hgtv.py with 100% similarity]
youtube_dlc/extractor/hidive.py [moved from youtube_dl/extractor/hidive.py with 100% similarity]
youtube_dlc/extractor/historicfilms.py [moved from youtube_dl/extractor/historicfilms.py with 100% similarity]
youtube_dlc/extractor/hitbox.py [moved from youtube_dl/extractor/hitbox.py with 100% similarity]
youtube_dlc/extractor/hitrecord.py [moved from youtube_dl/extractor/hitrecord.py with 100% similarity]
youtube_dlc/extractor/hketv.py [moved from youtube_dl/extractor/hketv.py with 100% similarity]
youtube_dlc/extractor/hornbunny.py [moved from youtube_dl/extractor/hornbunny.py with 100% similarity]
youtube_dlc/extractor/hotnewhiphop.py [moved from youtube_dl/extractor/hotnewhiphop.py with 100% similarity]
youtube_dlc/extractor/hotstar.py [moved from youtube_dl/extractor/hotstar.py with 100% similarity]
youtube_dlc/extractor/howcast.py [moved from youtube_dl/extractor/howcast.py with 100% similarity]
youtube_dlc/extractor/howstuffworks.py [moved from youtube_dl/extractor/howstuffworks.py with 100% similarity]
youtube_dlc/extractor/hrfensehen.py [moved from youtube_dl/extractor/hrfensehen.py with 98% similarity]
youtube_dlc/extractor/hrti.py [moved from youtube_dl/extractor/hrti.py with 100% similarity]
youtube_dlc/extractor/huajiao.py [moved from youtube_dl/extractor/huajiao.py with 100% similarity]
youtube_dlc/extractor/huffpost.py [moved from youtube_dl/extractor/huffpost.py with 100% similarity]
youtube_dlc/extractor/hungama.py [moved from youtube_dl/extractor/hungama.py with 100% similarity]
youtube_dlc/extractor/hypem.py [moved from youtube_dl/extractor/hypem.py with 100% similarity]
youtube_dlc/extractor/ign.py [moved from youtube_dl/extractor/ign.py with 100% similarity]
youtube_dlc/extractor/imdb.py [moved from youtube_dl/extractor/imdb.py with 100% similarity]
youtube_dlc/extractor/imggaming.py [moved from youtube_dl/extractor/imggaming.py with 100% similarity]
youtube_dlc/extractor/imgur.py [moved from youtube_dl/extractor/imgur.py with 97% similarity]
youtube_dlc/extractor/ina.py [moved from youtube_dl/extractor/ina.py with 100% similarity]
youtube_dlc/extractor/inc.py [moved from youtube_dl/extractor/inc.py with 100% similarity]
youtube_dlc/extractor/indavideo.py [moved from youtube_dl/extractor/indavideo.py with 100% similarity]
youtube_dlc/extractor/infoq.py [moved from youtube_dl/extractor/infoq.py with 100% similarity]
youtube_dlc/extractor/instagram.py [moved from youtube_dl/extractor/instagram.py with 100% similarity]
youtube_dlc/extractor/internazionale.py [moved from youtube_dl/extractor/internazionale.py with 100% similarity]
youtube_dlc/extractor/internetvideoarchive.py [moved from youtube_dl/extractor/internetvideoarchive.py with 100% similarity]
youtube_dlc/extractor/iprima.py [moved from youtube_dl/extractor/iprima.py with 100% similarity]
youtube_dlc/extractor/iqiyi.py [moved from youtube_dl/extractor/iqiyi.py with 100% similarity]
youtube_dlc/extractor/ir90tv.py [moved from youtube_dl/extractor/ir90tv.py with 100% similarity]
youtube_dlc/extractor/itv.py [moved from youtube_dl/extractor/itv.py with 100% similarity]
youtube_dlc/extractor/ivi.py [moved from youtube_dl/extractor/ivi.py with 99% similarity]
youtube_dlc/extractor/ivideon.py [moved from youtube_dl/extractor/ivideon.py with 100% similarity]
youtube_dlc/extractor/iwara.py [moved from youtube_dl/extractor/iwara.py with 100% similarity]
youtube_dlc/extractor/izlesene.py [moved from youtube_dl/extractor/izlesene.py with 100% similarity]
youtube_dlc/extractor/jamendo.py [moved from youtube_dl/extractor/jamendo.py with 100% similarity]
youtube_dlc/extractor/jeuxvideo.py [moved from youtube_dl/extractor/jeuxvideo.py with 100% similarity]
youtube_dlc/extractor/joj.py [moved from youtube_dl/extractor/joj.py with 97% similarity]
youtube_dlc/extractor/jove.py [moved from youtube_dl/extractor/jove.py with 100% similarity]
youtube_dlc/extractor/jwplatform.py [moved from youtube_dl/extractor/jwplatform.py with 100% similarity]
youtube_dlc/extractor/kakao.py [moved from youtube_dl/extractor/kakao.py with 100% similarity]
youtube_dlc/extractor/kaltura.py [moved from youtube_dl/extractor/kaltura.py with 100% similarity]
youtube_dlc/extractor/kanalplay.py [moved from youtube_dl/extractor/kanalplay.py with 100% similarity]
youtube_dlc/extractor/kankan.py [moved from youtube_dl/extractor/kankan.py with 100% similarity]
youtube_dlc/extractor/karaoketv.py [moved from youtube_dl/extractor/karaoketv.py with 100% similarity]
youtube_dlc/extractor/karrierevideos.py [moved from youtube_dl/extractor/karrierevideos.py with 100% similarity]
youtube_dlc/extractor/keezmovies.py [moved from youtube_dl/extractor/keezmovies.py with 100% similarity]
youtube_dlc/extractor/ketnet.py [moved from youtube_dl/extractor/ketnet.py with 100% similarity]
youtube_dlc/extractor/khanacademy.py [moved from youtube_dl/extractor/khanacademy.py with 100% similarity]
youtube_dlc/extractor/kickstarter.py [moved from youtube_dl/extractor/kickstarter.py with 100% similarity]
youtube_dlc/extractor/kinja.py [moved from youtube_dl/extractor/kinja.py with 100% similarity]
youtube_dlc/extractor/kinopoisk.py [moved from youtube_dl/extractor/kinopoisk.py with 100% similarity]
youtube_dlc/extractor/konserthusetplay.py [moved from youtube_dl/extractor/konserthusetplay.py with 100% similarity]
youtube_dlc/extractor/krasview.py [moved from youtube_dl/extractor/krasview.py with 100% similarity]
youtube_dlc/extractor/ku6.py [moved from youtube_dl/extractor/ku6.py with 100% similarity]
youtube_dlc/extractor/kusi.py [moved from youtube_dl/extractor/kusi.py with 100% similarity]
youtube_dlc/extractor/kuwo.py [moved from youtube_dl/extractor/kuwo.py with 100% similarity]
youtube_dlc/extractor/la7.py [moved from youtube_dl/extractor/la7.py with 100% similarity]
youtube_dlc/extractor/laola1tv.py [moved from youtube_dl/extractor/laola1tv.py with 100% similarity]
youtube_dlc/extractor/lci.py [moved from youtube_dl/extractor/lci.py with 100% similarity]
youtube_dlc/extractor/lcp.py [moved from youtube_dl/extractor/lcp.py with 100% similarity]
youtube_dlc/extractor/lecture2go.py [moved from youtube_dl/extractor/lecture2go.py with 100% similarity]
youtube_dlc/extractor/lecturio.py [moved from youtube_dl/extractor/lecturio.py with 100% similarity]
youtube_dlc/extractor/leeco.py [moved from youtube_dl/extractor/leeco.py with 100% similarity]
youtube_dlc/extractor/lego.py [moved from youtube_dl/extractor/lego.py with 100% similarity]
youtube_dlc/extractor/lemonde.py [moved from youtube_dl/extractor/lemonde.py with 100% similarity]
youtube_dlc/extractor/lenta.py [moved from youtube_dl/extractor/lenta.py with 100% similarity]
youtube_dlc/extractor/libraryofcongress.py [moved from youtube_dl/extractor/libraryofcongress.py with 100% similarity]
youtube_dlc/extractor/libsyn.py [moved from youtube_dl/extractor/libsyn.py with 100% similarity]
youtube_dlc/extractor/lifenews.py [moved from youtube_dl/extractor/lifenews.py with 100% similarity]
youtube_dlc/extractor/limelight.py [moved from youtube_dl/extractor/limelight.py with 100% similarity]
youtube_dlc/extractor/line.py [moved from youtube_dl/extractor/line.py with 100% similarity]
youtube_dlc/extractor/linkedin.py [moved from youtube_dl/extractor/linkedin.py with 100% similarity]
youtube_dlc/extractor/linuxacademy.py [moved from youtube_dl/extractor/linuxacademy.py with 100% similarity]
youtube_dlc/extractor/litv.py [moved from youtube_dl/extractor/litv.py with 100% similarity]
youtube_dlc/extractor/livejournal.py [moved from youtube_dl/extractor/livejournal.py with 100% similarity]
youtube_dlc/extractor/liveleak.py [moved from youtube_dl/extractor/liveleak.py with 100% similarity]
youtube_dlc/extractor/livestream.py [moved from youtube_dl/extractor/livestream.py with 100% similarity]
youtube_dlc/extractor/lnkgo.py [moved from youtube_dl/extractor/lnkgo.py with 100% similarity]
youtube_dlc/extractor/localnews8.py [moved from youtube_dl/extractor/localnews8.py with 100% similarity]
youtube_dlc/extractor/lovehomeporn.py [moved from youtube_dl/extractor/lovehomeporn.py with 100% similarity]
youtube_dlc/extractor/lrt.py [moved from youtube_dl/extractor/lrt.py with 100% similarity]
youtube_dlc/extractor/lynda.py [moved from youtube_dl/extractor/lynda.py with 100% similarity]
youtube_dlc/extractor/m6.py [moved from youtube_dl/extractor/m6.py with 100% similarity]
youtube_dlc/extractor/mailru.py [moved from youtube_dl/extractor/mailru.py with 100% similarity]
youtube_dlc/extractor/malltv.py [moved from youtube_dl/extractor/malltv.py with 100% similarity]
youtube_dlc/extractor/mangomolo.py [moved from youtube_dl/extractor/mangomolo.py with 100% similarity]
youtube_dlc/extractor/manyvids.py [moved from youtube_dl/extractor/manyvids.py with 100% similarity]
youtube_dlc/extractor/markiza.py [moved from youtube_dl/extractor/markiza.py with 100% similarity]
youtube_dlc/extractor/massengeschmacktv.py [moved from youtube_dl/extractor/massengeschmacktv.py with 100% similarity]
youtube_dlc/extractor/matchtv.py [moved from youtube_dl/extractor/matchtv.py with 100% similarity]
youtube_dlc/extractor/mdr.py [moved from youtube_dl/extractor/mdr.py with 100% similarity]
youtube_dlc/extractor/medialaan.py [moved from youtube_dl/extractor/medialaan.py with 100% similarity]
youtube_dlc/extractor/mediaset.py [moved from youtube_dl/extractor/mediaset.py with 100% similarity]
youtube_dlc/extractor/mediasite.py [moved from youtube_dl/extractor/mediasite.py with 100% similarity]
youtube_dlc/extractor/medici.py [moved from youtube_dl/extractor/medici.py with 100% similarity]
youtube_dlc/extractor/megaphone.py [moved from youtube_dl/extractor/megaphone.py with 100% similarity]
youtube_dlc/extractor/meipai.py [moved from youtube_dl/extractor/meipai.py with 100% similarity]
youtube_dlc/extractor/melonvod.py [moved from youtube_dl/extractor/melonvod.py with 100% similarity]
youtube_dlc/extractor/meta.py [moved from youtube_dl/extractor/meta.py with 100% similarity]
youtube_dlc/extractor/metacafe.py [moved from youtube_dl/extractor/metacafe.py with 100% similarity]
youtube_dlc/extractor/metacritic.py [moved from youtube_dl/extractor/metacritic.py with 100% similarity]
youtube_dlc/extractor/mgoon.py [moved from youtube_dl/extractor/mgoon.py with 100% similarity]
youtube_dlc/extractor/mgtv.py [moved from youtube_dl/extractor/mgtv.py with 100% similarity]
youtube_dlc/extractor/miaopai.py [moved from youtube_dl/extractor/miaopai.py with 100% similarity]
youtube_dlc/extractor/microsoftvirtualacademy.py [moved from youtube_dl/extractor/microsoftvirtualacademy.py with 100% similarity]
youtube_dlc/extractor/ministrygrid.py [moved from youtube_dl/extractor/ministrygrid.py with 100% similarity]
youtube_dlc/extractor/minoto.py [moved from youtube_dl/extractor/minoto.py with 100% similarity]
youtube_dlc/extractor/miomio.py [moved from youtube_dl/extractor/miomio.py with 100% similarity]
youtube_dlc/extractor/mit.py [moved from youtube_dl/extractor/mit.py with 100% similarity]
youtube_dlc/extractor/mitele.py [moved from youtube_dl/extractor/mitele.py with 100% similarity]
youtube_dlc/extractor/mixcloud.py [moved from youtube_dl/extractor/mixcloud.py with 100% similarity]
youtube_dlc/extractor/mlb.py [moved from youtube_dl/extractor/mlb.py with 100% similarity]
youtube_dlc/extractor/mnet.py [moved from youtube_dl/extractor/mnet.py with 100% similarity]
youtube_dlc/extractor/moevideo.py [moved from youtube_dl/extractor/moevideo.py with 100% similarity]
youtube_dlc/extractor/mofosex.py [moved from youtube_dl/extractor/mofosex.py with 100% similarity]
youtube_dlc/extractor/mojvideo.py [moved from youtube_dl/extractor/mojvideo.py with 100% similarity]
youtube_dlc/extractor/morningstar.py [moved from youtube_dl/extractor/morningstar.py with 100% similarity]
youtube_dlc/extractor/motherless.py [moved from youtube_dl/extractor/motherless.py with 100% similarity]
youtube_dlc/extractor/motorsport.py [moved from youtube_dl/extractor/motorsport.py with 100% similarity]
youtube_dlc/extractor/movieclips.py [moved from youtube_dl/extractor/movieclips.py with 100% similarity]
youtube_dlc/extractor/moviezine.py [moved from youtube_dl/extractor/moviezine.py with 100% similarity]
youtube_dlc/extractor/movingimage.py [moved from youtube_dl/extractor/movingimage.py with 100% similarity]
youtube_dlc/extractor/msn.py [moved from youtube_dl/extractor/msn.py with 100% similarity]
youtube_dlc/extractor/mtv.py [moved from youtube_dl/extractor/mtv.py with 100% similarity]
youtube_dlc/extractor/muenchentv.py [moved from youtube_dl/extractor/muenchentv.py with 100% similarity]
youtube_dlc/extractor/mwave.py [moved from youtube_dl/extractor/mwave.py with 100% similarity]
youtube_dlc/extractor/mychannels.py [moved from youtube_dl/extractor/mychannels.py with 100% similarity]
youtube_dlc/extractor/myspace.py [moved from youtube_dl/extractor/myspace.py with 100% similarity]
youtube_dlc/extractor/myspass.py [moved from youtube_dl/extractor/myspass.py with 100% similarity]
youtube_dlc/extractor/myvi.py [moved from youtube_dl/extractor/myvi.py with 100% similarity]
youtube_dlc/extractor/myvidster.py [moved from youtube_dl/extractor/myvidster.py with 100% similarity]
youtube_dlc/extractor/nationalgeographic.py [moved from youtube_dl/extractor/nationalgeographic.py with 100% similarity]
youtube_dlc/extractor/naver.py [moved from youtube_dl/extractor/naver.py with 100% similarity]
youtube_dlc/extractor/nba.py [moved from youtube_dl/extractor/nba.py with 100% similarity]
youtube_dlc/extractor/nbc.py [moved from youtube_dl/extractor/nbc.py with 100% similarity]
youtube_dlc/extractor/ndr.py [moved from youtube_dl/extractor/ndr.py with 100% similarity]
youtube_dlc/extractor/ndtv.py [moved from youtube_dl/extractor/ndtv.py with 100% similarity]
youtube_dlc/extractor/nerdcubed.py [moved from youtube_dl/extractor/nerdcubed.py with 100% similarity]
youtube_dlc/extractor/neteasemusic.py [moved from youtube_dl/extractor/neteasemusic.py with 100% similarity]
youtube_dlc/extractor/netzkino.py [moved from youtube_dl/extractor/netzkino.py with 100% similarity]
youtube_dlc/extractor/newgrounds.py [moved from youtube_dl/extractor/newgrounds.py with 100% similarity]
youtube_dlc/extractor/newstube.py [moved from youtube_dl/extractor/newstube.py with 100% similarity]
youtube_dlc/extractor/nextmedia.py [moved from youtube_dl/extractor/nextmedia.py with 100% similarity]
youtube_dlc/extractor/nexx.py [moved from youtube_dl/extractor/nexx.py with 100% similarity]
youtube_dlc/extractor/nfl.py [moved from youtube_dl/extractor/nfl.py with 100% similarity]
youtube_dlc/extractor/nhk.py [moved from youtube_dl/extractor/nhk.py with 100% similarity]
youtube_dlc/extractor/nhl.py [moved from youtube_dl/extractor/nhl.py with 100% similarity]
youtube_dlc/extractor/nick.py [moved from youtube_dl/extractor/nick.py with 100% similarity]
youtube_dlc/extractor/niconico.py [moved from youtube_dl/extractor/niconico.py with 100% similarity]
youtube_dlc/extractor/ninecninemedia.py [moved from youtube_dl/extractor/ninecninemedia.py with 100% similarity]
youtube_dlc/extractor/ninegag.py [moved from youtube_dl/extractor/ninegag.py with 100% similarity]
youtube_dlc/extractor/ninenow.py [moved from youtube_dl/extractor/ninenow.py with 100% similarity]
youtube_dlc/extractor/nintendo.py [moved from youtube_dl/extractor/nintendo.py with 100% similarity]
youtube_dlc/extractor/njpwworld.py [moved from youtube_dl/extractor/njpwworld.py with 100% similarity]
youtube_dlc/extractor/nobelprize.py [moved from youtube_dl/extractor/nobelprize.py with 100% similarity]
youtube_dlc/extractor/noco.py [moved from youtube_dl/extractor/noco.py with 100% similarity]
youtube_dlc/extractor/nonktube.py [moved from youtube_dl/extractor/nonktube.py with 100% similarity]
youtube_dlc/extractor/noovo.py [moved from youtube_dl/extractor/noovo.py with 100% similarity]
youtube_dlc/extractor/normalboots.py [moved from youtube_dl/extractor/normalboots.py with 100% similarity]
youtube_dlc/extractor/nosvideo.py [moved from youtube_dl/extractor/nosvideo.py with 100% similarity]
youtube_dlc/extractor/nova.py [moved from youtube_dl/extractor/nova.py with 100% similarity]
youtube_dlc/extractor/nowness.py [moved from youtube_dl/extractor/nowness.py with 98% similarity]
youtube_dlc/extractor/noz.py [moved from youtube_dl/extractor/noz.py with 100% similarity]
youtube_dlc/extractor/npo.py [moved from youtube_dl/extractor/npo.py with 100% similarity]
youtube_dlc/extractor/npr.py [moved from youtube_dl/extractor/npr.py with 100% similarity]
youtube_dlc/extractor/nrk.py [moved from youtube_dl/extractor/nrk.py with 100% similarity]
youtube_dlc/extractor/nrl.py [moved from youtube_dl/extractor/nrl.py with 100% similarity]
youtube_dlc/extractor/ntvcojp.py [moved from youtube_dl/extractor/ntvcojp.py with 100% similarity]
youtube_dlc/extractor/ntvde.py [moved from youtube_dl/extractor/ntvde.py with 100% similarity]
youtube_dlc/extractor/ntvru.py [moved from youtube_dl/extractor/ntvru.py with 100% similarity]
youtube_dlc/extractor/nuevo.py [moved from youtube_dl/extractor/nuevo.py with 100% similarity]
youtube_dlc/extractor/nuvid.py [moved from youtube_dl/extractor/nuvid.py with 100% similarity]
youtube_dlc/extractor/nytimes.py [moved from youtube_dl/extractor/nytimes.py with 100% similarity]
youtube_dlc/extractor/nzz.py [moved from youtube_dl/extractor/nzz.py with 100% similarity]
youtube_dlc/extractor/odatv.py [moved from youtube_dl/extractor/odatv.py with 100% similarity]
youtube_dlc/extractor/odnoklassniki.py [moved from youtube_dl/extractor/odnoklassniki.py with 100% similarity]
youtube_dlc/extractor/oktoberfesttv.py [moved from youtube_dl/extractor/oktoberfesttv.py with 100% similarity]
youtube_dlc/extractor/once.py [moved from youtube_dl/extractor/once.py with 100% similarity]
youtube_dlc/extractor/ondemandkorea.py [moved from youtube_dl/extractor/ondemandkorea.py with 100% similarity]
youtube_dlc/extractor/onet.py [moved from youtube_dl/extractor/onet.py with 100% similarity]
youtube_dlc/extractor/onionstudios.py [moved from youtube_dl/extractor/onionstudios.py with 100% similarity]
youtube_dlc/extractor/ooyala.py [moved from youtube_dl/extractor/ooyala.py with 100% similarity]
youtube_dlc/extractor/openload.py [moved from youtube_dl/extractor/openload.py with 100% similarity]
youtube_dlc/extractor/ora.py [moved from youtube_dl/extractor/ora.py with 100% similarity]
youtube_dlc/extractor/orf.py [moved from youtube_dl/extractor/orf.py with 100% similarity]
youtube_dlc/extractor/outsidetv.py [moved from youtube_dl/extractor/outsidetv.py with 100% similarity]
youtube_dlc/extractor/packtpub.py [moved from youtube_dl/extractor/packtpub.py with 100% similarity]
youtube_dlc/extractor/pandoratv.py [moved from youtube_dl/extractor/pandoratv.py with 100% similarity]
youtube_dlc/extractor/parliamentliveuk.py [moved from youtube_dl/extractor/parliamentliveuk.py with 100% similarity]
youtube_dlc/extractor/patreon.py [moved from youtube_dl/extractor/patreon.py with 100% similarity]
youtube_dlc/extractor/pbs.py [moved from youtube_dl/extractor/pbs.py with 100% similarity]
youtube_dlc/extractor/pearvideo.py [moved from youtube_dl/extractor/pearvideo.py with 100% similarity]
youtube_dlc/extractor/peertube.py [moved from youtube_dl/extractor/peertube.py with 100% similarity]
youtube_dlc/extractor/people.py [moved from youtube_dl/extractor/people.py with 100% similarity]
youtube_dlc/extractor/performgroup.py [moved from youtube_dl/extractor/performgroup.py with 100% similarity]
youtube_dlc/extractor/periscope.py [moved from youtube_dl/extractor/periscope.py with 100% similarity]
youtube_dlc/extractor/philharmoniedeparis.py [moved from youtube_dl/extractor/philharmoniedeparis.py with 100% similarity]
youtube_dlc/extractor/phoenix.py [moved from youtube_dl/extractor/phoenix.py with 100% similarity]
youtube_dlc/extractor/photobucket.py [moved from youtube_dl/extractor/photobucket.py with 100% similarity]
youtube_dlc/extractor/picarto.py [moved from youtube_dl/extractor/picarto.py with 100% similarity]
youtube_dlc/extractor/piksel.py [moved from youtube_dl/extractor/piksel.py with 100% similarity]
youtube_dlc/extractor/pinkbike.py [moved from youtube_dl/extractor/pinkbike.py with 100% similarity]
youtube_dlc/extractor/pladform.py [moved from youtube_dl/extractor/pladform.py with 100% similarity]
youtube_dlc/extractor/platzi.py [moved from youtube_dl/extractor/platzi.py with 100% similarity]
youtube_dlc/extractor/playfm.py [moved from youtube_dl/extractor/playfm.py with 100% similarity]
youtube_dlc/extractor/playplustv.py [moved from youtube_dl/extractor/playplustv.py with 100% similarity]
youtube_dlc/extractor/plays.py [moved from youtube_dl/extractor/plays.py with 100% similarity]
youtube_dlc/extractor/playtvak.py [moved from youtube_dl/extractor/playtvak.py with 100% similarity]
youtube_dlc/extractor/playvid.py [moved from youtube_dl/extractor/playvid.py with 100% similarity]
youtube_dlc/extractor/playwire.py [moved from youtube_dl/extractor/playwire.py with 100% similarity]
youtube_dlc/extractor/pluralsight.py [moved from youtube_dl/extractor/pluralsight.py with 100% similarity]
youtube_dlc/extractor/podomatic.py [moved from youtube_dl/extractor/podomatic.py with 100% similarity]
youtube_dlc/extractor/pokemon.py [moved from youtube_dl/extractor/pokemon.py with 100% similarity]
youtube_dlc/extractor/polskieradio.py [moved from youtube_dl/extractor/polskieradio.py with 100% similarity]
youtube_dlc/extractor/popcorntimes.py [moved from youtube_dl/extractor/popcorntimes.py with 100% similarity]
youtube_dlc/extractor/popcorntv.py [moved from youtube_dl/extractor/popcorntv.py with 100% similarity]
youtube_dlc/extractor/porn91.py [moved from youtube_dl/extractor/porn91.py with 100% similarity]
youtube_dlc/extractor/porncom.py [moved from youtube_dl/extractor/porncom.py with 100% similarity]
youtube_dlc/extractor/pornhd.py [moved from youtube_dl/extractor/pornhd.py with 100% similarity]
youtube_dlc/extractor/pornhub.py [moved from youtube_dl/extractor/pornhub.py with 100% similarity]
youtube_dlc/extractor/pornotube.py [moved from youtube_dl/extractor/pornotube.py with 100% similarity]
youtube_dlc/extractor/pornovoisines.py [moved from youtube_dl/extractor/pornovoisines.py with 100% similarity]
youtube_dlc/extractor/pornoxo.py [moved from youtube_dl/extractor/pornoxo.py with 100% similarity]
youtube_dlc/extractor/presstv.py [moved from youtube_dl/extractor/presstv.py with 100% similarity]
youtube_dlc/extractor/prosiebensat1.py [moved from youtube_dl/extractor/prosiebensat1.py with 100% similarity]
youtube_dlc/extractor/puhutv.py [moved from youtube_dl/extractor/puhutv.py with 100% similarity]
youtube_dlc/extractor/puls4.py [moved from youtube_dl/extractor/puls4.py with 100% similarity]
youtube_dlc/extractor/pyvideo.py [moved from youtube_dl/extractor/pyvideo.py with 100% similarity]
youtube_dlc/extractor/qqmusic.py [moved from youtube_dl/extractor/qqmusic.py with 100% similarity]
youtube_dlc/extractor/r7.py [moved from youtube_dl/extractor/r7.py with 100% similarity]
youtube_dlc/extractor/radiobremen.py [moved from youtube_dl/extractor/radiobremen.py with 100% similarity]
youtube_dlc/extractor/radiocanada.py [moved from youtube_dl/extractor/radiocanada.py with 100% similarity]
youtube_dlc/extractor/radiode.py [moved from youtube_dl/extractor/radiode.py with 100% similarity]
youtube_dlc/extractor/radiofrance.py [moved from youtube_dl/extractor/radiofrance.py with 100% similarity]
youtube_dlc/extractor/radiojavan.py [moved from youtube_dl/extractor/radiojavan.py with 100% similarity]
youtube_dlc/extractor/rai.py [moved from youtube_dl/extractor/rai.py with 100% similarity]
youtube_dlc/extractor/raywenderlich.py [moved from youtube_dl/extractor/raywenderlich.py with 100% similarity]
youtube_dlc/extractor/rbmaradio.py [moved from youtube_dl/extractor/rbmaradio.py with 100% similarity]
youtube_dlc/extractor/rds.py [moved from youtube_dl/extractor/rds.py with 100% similarity]
youtube_dlc/extractor/redbulltv.py [moved from youtube_dl/extractor/redbulltv.py with 100% similarity]
youtube_dlc/extractor/reddit.py [moved from youtube_dl/extractor/reddit.py with 100% similarity]
youtube_dlc/extractor/redtube.py [moved from youtube_dl/extractor/redtube.py with 100% similarity]
youtube_dlc/extractor/regiotv.py [moved from youtube_dl/extractor/regiotv.py with 100% similarity]
youtube_dlc/extractor/rentv.py [moved from youtube_dl/extractor/rentv.py with 100% similarity]
youtube_dlc/extractor/restudy.py [moved from youtube_dl/extractor/restudy.py with 100% similarity]
youtube_dlc/extractor/reuters.py [moved from youtube_dl/extractor/reuters.py with 100% similarity]
youtube_dlc/extractor/reverbnation.py [moved from youtube_dl/extractor/reverbnation.py with 100% similarity]
youtube_dlc/extractor/rice.py [moved from youtube_dl/extractor/rice.py with 100% similarity]
youtube_dlc/extractor/rmcdecouverte.py [moved from youtube_dl/extractor/rmcdecouverte.py with 100% similarity]
youtube_dlc/extractor/ro220.py [moved from youtube_dl/extractor/ro220.py with 100% similarity]
youtube_dlc/extractor/rockstargames.py [moved from youtube_dl/extractor/rockstargames.py with 100% similarity]
youtube_dlc/extractor/roosterteeth.py [moved from youtube_dl/extractor/roosterteeth.py with 100% similarity]
youtube_dlc/extractor/rottentomatoes.py [moved from youtube_dl/extractor/rottentomatoes.py with 100% similarity]
youtube_dlc/extractor/roxwel.py [moved from youtube_dl/extractor/roxwel.py with 100% similarity]
youtube_dlc/extractor/rozhlas.py [moved from youtube_dl/extractor/rozhlas.py with 100% similarity]
youtube_dlc/extractor/rtbf.py [moved from youtube_dl/extractor/rtbf.py with 100% similarity]
youtube_dlc/extractor/rte.py [moved from youtube_dl/extractor/rte.py with 100% similarity]
youtube_dlc/extractor/rtl2.py [moved from youtube_dl/extractor/rtl2.py with 100% similarity]
youtube_dlc/extractor/rtlnl.py [moved from youtube_dl/extractor/rtlnl.py with 100% similarity]
youtube_dlc/extractor/rtp.py [moved from youtube_dl/extractor/rtp.py with 100% similarity]
youtube_dlc/extractor/rts.py [moved from youtube_dl/extractor/rts.py with 100% similarity]
youtube_dlc/extractor/rtve.py [moved from youtube_dl/extractor/rtve.py with 100% similarity]
youtube_dlc/extractor/rtvnh.py [moved from youtube_dl/extractor/rtvnh.py with 100% similarity]
youtube_dlc/extractor/rtvs.py [moved from youtube_dl/extractor/rtvs.py with 100% similarity]
youtube_dlc/extractor/ruhd.py [moved from youtube_dl/extractor/ruhd.py with 100% similarity]
youtube_dlc/extractor/rutube.py [moved from youtube_dl/extractor/rutube.py with 100% similarity]
youtube_dlc/extractor/rutv.py [moved from youtube_dl/extractor/rutv.py with 100% similarity]
youtube_dlc/extractor/ruutu.py [moved from youtube_dl/extractor/ruutu.py with 100% similarity]
youtube_dlc/extractor/ruv.py [moved from youtube_dl/extractor/ruv.py with 100% similarity]
youtube_dlc/extractor/safari.py [moved from youtube_dl/extractor/safari.py with 100% similarity]
youtube_dlc/extractor/sapo.py [moved from youtube_dl/extractor/sapo.py with 100% similarity]
youtube_dlc/extractor/savefrom.py [moved from youtube_dl/extractor/savefrom.py with 100% similarity]
youtube_dlc/extractor/sbs.py [moved from youtube_dl/extractor/sbs.py with 100% similarity]
youtube_dlc/extractor/screencast.py [moved from youtube_dl/extractor/screencast.py with 100% similarity]
youtube_dlc/extractor/screencastomatic.py [moved from youtube_dl/extractor/screencastomatic.py with 100% similarity]
youtube_dlc/extractor/scrippsnetworks.py [moved from youtube_dl/extractor/scrippsnetworks.py with 100% similarity]
youtube_dlc/extractor/scte.py [moved from youtube_dl/extractor/scte.py with 100% similarity]
youtube_dlc/extractor/seeker.py [moved from youtube_dl/extractor/seeker.py with 100% similarity]
youtube_dlc/extractor/senateisvp.py [moved from youtube_dl/extractor/senateisvp.py with 100% similarity]
youtube_dlc/extractor/sendtonews.py [moved from youtube_dl/extractor/sendtonews.py with 100% similarity]
youtube_dlc/extractor/servus.py [moved from youtube_dl/extractor/servus.py with 100% similarity]
youtube_dlc/extractor/sevenplus.py [moved from youtube_dl/extractor/sevenplus.py with 100% similarity]
youtube_dlc/extractor/sexu.py [moved from youtube_dl/extractor/sexu.py with 100% similarity]
youtube_dlc/extractor/seznamzpravy.py [moved from youtube_dl/extractor/seznamzpravy.py with 100% similarity]
youtube_dlc/extractor/shahid.py [moved from youtube_dl/extractor/shahid.py with 100% similarity]
youtube_dlc/extractor/shared.py [moved from youtube_dl/extractor/shared.py with 100% similarity]
youtube_dlc/extractor/showroomlive.py [moved from youtube_dl/extractor/showroomlive.py with 100% similarity]
youtube_dlc/extractor/sina.py [moved from youtube_dl/extractor/sina.py with 100% similarity]
youtube_dlc/extractor/sixplay.py [moved from youtube_dl/extractor/sixplay.py with 100% similarity]
youtube_dlc/extractor/sky.py [moved from youtube_dl/extractor/sky.py with 100% similarity]
youtube_dlc/extractor/skylinewebcams.py [moved from youtube_dl/extractor/skylinewebcams.py with 100% similarity]
youtube_dlc/extractor/skynewsarabia.py [moved from youtube_dl/extractor/skynewsarabia.py with 100% similarity]
youtube_dlc/extractor/slideshare.py [moved from youtube_dl/extractor/slideshare.py with 100% similarity]
youtube_dlc/extractor/slideslive.py [moved from youtube_dl/extractor/slideslive.py with 100% similarity]
youtube_dlc/extractor/slutload.py [moved from youtube_dl/extractor/slutload.py with 100% similarity]
youtube_dlc/extractor/smotri.py [moved from youtube_dl/extractor/smotri.py with 100% similarity]
youtube_dlc/extractor/snotr.py [moved from youtube_dl/extractor/snotr.py with 100% similarity]
youtube_dlc/extractor/sohu.py [moved from youtube_dl/extractor/sohu.py with 99% similarity]
youtube_dlc/extractor/sonyliv.py [moved from youtube_dl/extractor/sonyliv.py with 100% similarity]
youtube_dlc/extractor/soundcloud.py [moved from youtube_dl/extractor/soundcloud.py with 99% similarity]
youtube_dlc/extractor/soundgasm.py [moved from youtube_dl/extractor/soundgasm.py with 100% similarity]
youtube_dlc/extractor/southpark.py [moved from youtube_dl/extractor/southpark.py with 100% similarity]
youtube_dlc/extractor/spankbang.py [moved from youtube_dl/extractor/spankbang.py with 100% similarity]
youtube_dlc/extractor/spankwire.py [moved from youtube_dl/extractor/spankwire.py with 100% similarity]
youtube_dlc/extractor/spiegel.py [moved from youtube_dl/extractor/spiegel.py with 100% similarity]
youtube_dlc/extractor/spiegeltv.py [moved from youtube_dl/extractor/spiegeltv.py with 100% similarity]
youtube_dlc/extractor/spike.py [moved from youtube_dl/extractor/spike.py with 100% similarity]
youtube_dlc/extractor/sport5.py [moved from youtube_dl/extractor/sport5.py with 100% similarity]
youtube_dlc/extractor/sportbox.py [moved from youtube_dl/extractor/sportbox.py with 100% similarity]
youtube_dlc/extractor/sportdeutschland.py [moved from youtube_dl/extractor/sportdeutschland.py with 100% similarity]
youtube_dlc/extractor/springboardplatform.py [moved from youtube_dl/extractor/springboardplatform.py with 100% similarity]
youtube_dlc/extractor/sprout.py [moved from youtube_dl/extractor/sprout.py with 100% similarity]
youtube_dlc/extractor/srgssr.py [moved from youtube_dl/extractor/srgssr.py with 100% similarity]
youtube_dlc/extractor/srmediathek.py [moved from youtube_dl/extractor/srmediathek.py with 100% similarity]
youtube_dlc/extractor/stanfordoc.py [moved from youtube_dl/extractor/stanfordoc.py with 100% similarity]
youtube_dlc/extractor/steam.py [moved from youtube_dl/extractor/steam.py with 100% similarity]
youtube_dlc/extractor/stitcher.py [moved from youtube_dl/extractor/stitcher.py with 100% similarity]
youtube_dlc/extractor/storyfire.py [moved from youtube_dl/extractor/storyfire.py with 100% similarity]
youtube_dlc/extractor/streamable.py [moved from youtube_dl/extractor/streamable.py with 100% similarity]
youtube_dlc/extractor/streamcloud.py [moved from youtube_dl/extractor/streamcloud.py with 93% similarity]
youtube_dlc/extractor/streamcz.py [moved from youtube_dl/extractor/streamcz.py with 100% similarity]
youtube_dlc/extractor/streetvoice.py [moved from youtube_dl/extractor/streetvoice.py with 100% similarity]
youtube_dlc/extractor/stretchinternet.py [moved from youtube_dl/extractor/stretchinternet.py with 100% similarity]
youtube_dlc/extractor/stv.py [moved from youtube_dl/extractor/stv.py with 100% similarity]
youtube_dlc/extractor/sunporno.py [moved from youtube_dl/extractor/sunporno.py with 100% similarity]
youtube_dlc/extractor/sverigesradio.py [moved from youtube_dl/extractor/sverigesradio.py with 100% similarity]
youtube_dlc/extractor/svt.py [moved from youtube_dl/extractor/svt.py with 100% similarity]
youtube_dlc/extractor/swrmediathek.py [moved from youtube_dl/extractor/swrmediathek.py with 100% similarity]
youtube_dlc/extractor/syfy.py [moved from youtube_dl/extractor/syfy.py with 100% similarity]
youtube_dlc/extractor/sztvhu.py [moved from youtube_dl/extractor/sztvhu.py with 100% similarity]
youtube_dlc/extractor/tagesschau.py [moved from youtube_dl/extractor/tagesschau.py with 100% similarity]
youtube_dlc/extractor/tass.py [moved from youtube_dl/extractor/tass.py with 100% similarity]
youtube_dlc/extractor/tastytrade.py [moved from youtube_dl/extractor/tastytrade.py with 100% similarity]
youtube_dlc/extractor/tbs.py [moved from youtube_dl/extractor/tbs.py with 100% similarity]
youtube_dlc/extractor/tdslifeway.py [moved from youtube_dl/extractor/tdslifeway.py with 100% similarity]
youtube_dlc/extractor/teachable.py [moved from youtube_dl/extractor/teachable.py with 100% similarity]
youtube_dlc/extractor/teachertube.py [moved from youtube_dl/extractor/teachertube.py with 100% similarity]
youtube_dlc/extractor/teachingchannel.py [moved from youtube_dl/extractor/teachingchannel.py with 100% similarity]
youtube_dlc/extractor/teamcoco.py [moved from youtube_dl/extractor/teamcoco.py with 100% similarity]
youtube_dlc/extractor/teamtreehouse.py [moved from youtube_dl/extractor/teamtreehouse.py with 100% similarity]
youtube_dlc/extractor/techtalks.py [moved from youtube_dl/extractor/techtalks.py with 100% similarity]
youtube_dlc/extractor/ted.py [moved from youtube_dl/extractor/ted.py with 100% similarity]
youtube_dlc/extractor/tele13.py [moved from youtube_dl/extractor/tele13.py with 100% similarity]
youtube_dlc/extractor/tele5.py [moved from youtube_dl/extractor/tele5.py with 100% similarity]
youtube_dlc/extractor/telebruxelles.py [moved from youtube_dl/extractor/telebruxelles.py with 100% similarity]
youtube_dlc/extractor/telecinco.py [moved from youtube_dl/extractor/telecinco.py with 100% similarity]
youtube_dlc/extractor/telegraaf.py [moved from youtube_dl/extractor/telegraaf.py with 100% similarity]
youtube_dlc/extractor/telemb.py [moved from youtube_dl/extractor/telemb.py with 100% similarity]
youtube_dlc/extractor/telequebec.py [moved from youtube_dl/extractor/telequebec.py with 100% similarity]
youtube_dlc/extractor/teletask.py [moved from youtube_dl/extractor/teletask.py with 100% similarity]
youtube_dlc/extractor/telewebion.py [moved from youtube_dl/extractor/telewebion.py with 100% similarity]
youtube_dlc/extractor/tennistv.py [moved from youtube_dl/extractor/tennistv.py with 100% similarity]
youtube_dlc/extractor/tenplay.py [moved from youtube_dl/extractor/tenplay.py with 100% similarity]
youtube_dlc/extractor/testurl.py [moved from youtube_dl/extractor/testurl.py with 100% similarity]
youtube_dlc/extractor/tf1.py [moved from youtube_dl/extractor/tf1.py with 100% similarity]
youtube_dlc/extractor/tfo.py [moved from youtube_dl/extractor/tfo.py with 100% similarity]
youtube_dlc/extractor/theintercept.py [moved from youtube_dl/extractor/theintercept.py with 100% similarity]
youtube_dlc/extractor/theplatform.py [moved from youtube_dl/extractor/theplatform.py with 100% similarity]
youtube_dlc/extractor/thescene.py [moved from youtube_dl/extractor/thescene.py with 100% similarity]
youtube_dlc/extractor/thestar.py [moved from youtube_dl/extractor/thestar.py with 100% similarity]
youtube_dlc/extractor/thesun.py [moved from youtube_dl/extractor/thesun.py with 100% similarity]
youtube_dlc/extractor/theweatherchannel.py [moved from youtube_dl/extractor/theweatherchannel.py with 100% similarity]
youtube_dlc/extractor/thisamericanlife.py [moved from youtube_dl/extractor/thisamericanlife.py with 100% similarity]
youtube_dlc/extractor/thisav.py [moved from youtube_dl/extractor/thisav.py with 100% similarity]
youtube_dlc/extractor/thisoldhouse.py [moved from youtube_dl/extractor/thisoldhouse.py with 100% similarity]
youtube_dlc/extractor/threeqsdn.py [moved from youtube_dl/extractor/threeqsdn.py with 100% similarity]
youtube_dlc/extractor/tiktok.py [moved from youtube_dl/extractor/tiktok.py with 100% similarity]
youtube_dlc/extractor/tinypic.py [moved from youtube_dl/extractor/tinypic.py with 100% similarity]
youtube_dlc/extractor/tmz.py [moved from youtube_dl/extractor/tmz.py with 100% similarity]
youtube_dlc/extractor/tnaflix.py [moved from youtube_dl/extractor/tnaflix.py with 100% similarity]
youtube_dlc/extractor/toggle.py [moved from youtube_dl/extractor/toggle.py with 100% similarity]
youtube_dlc/extractor/tonline.py [moved from youtube_dl/extractor/tonline.py with 100% similarity]
youtube_dlc/extractor/toongoggles.py [moved from youtube_dl/extractor/toongoggles.py with 100% similarity]
youtube_dlc/extractor/toutv.py [moved from youtube_dl/extractor/toutv.py with 100% similarity]
youtube_dlc/extractor/toypics.py [moved from youtube_dl/extractor/toypics.py with 100% similarity]
youtube_dlc/extractor/traileraddict.py [moved from youtube_dl/extractor/traileraddict.py with 100% similarity]
youtube_dlc/extractor/trilulilu.py [moved from youtube_dl/extractor/trilulilu.py with 100% similarity]
youtube_dlc/extractor/trunews.py [moved from youtube_dl/extractor/trunews.py with 100% similarity]
youtube_dlc/extractor/trutv.py [moved from youtube_dl/extractor/trutv.py with 100% similarity]
youtube_dlc/extractor/tube8.py [moved from youtube_dl/extractor/tube8.py with 100% similarity]
youtube_dlc/extractor/tubitv.py [moved from youtube_dl/extractor/tubitv.py with 100% similarity]
youtube_dlc/extractor/tudou.py [moved from youtube_dl/extractor/tudou.py with 100% similarity]
youtube_dlc/extractor/tumblr.py [moved from youtube_dl/extractor/tumblr.py with 100% similarity]
youtube_dlc/extractor/tunein.py [moved from youtube_dl/extractor/tunein.py with 100% similarity]
youtube_dlc/extractor/tunepk.py [moved from youtube_dl/extractor/tunepk.py with 100% similarity]
youtube_dlc/extractor/turbo.py [moved from youtube_dl/extractor/turbo.py with 100% similarity]
youtube_dlc/extractor/turner.py [moved from youtube_dl/extractor/turner.py with 100% similarity]
youtube_dlc/extractor/tv2.py [moved from youtube_dl/extractor/tv2.py with 100% similarity]
youtube_dlc/extractor/tv2dk.py [moved from youtube_dl/extractor/tv2dk.py with 100% similarity]
youtube_dlc/extractor/tv2hu.py [moved from youtube_dl/extractor/tv2hu.py with 100% similarity]
youtube_dlc/extractor/tv4.py [moved from youtube_dl/extractor/tv4.py with 100% similarity]
youtube_dlc/extractor/tv5mondeplus.py [moved from youtube_dl/extractor/tv5mondeplus.py with 100% similarity]
youtube_dlc/extractor/tva.py [moved from youtube_dl/extractor/tva.py with 100% similarity]
youtube_dlc/extractor/tvanouvelles.py [moved from youtube_dl/extractor/tvanouvelles.py with 100% similarity]
youtube_dlc/extractor/tvc.py [moved from youtube_dl/extractor/tvc.py with 100% similarity]
youtube_dlc/extractor/tvigle.py [moved from youtube_dl/extractor/tvigle.py with 100% similarity]
youtube_dlc/extractor/tvland.py [moved from youtube_dl/extractor/tvland.py with 100% similarity]
youtube_dlc/extractor/tvn24.py [moved from youtube_dl/extractor/tvn24.py with 100% similarity]
youtube_dlc/extractor/tvnet.py [moved from youtube_dl/extractor/tvnet.py with 100% similarity]
youtube_dlc/extractor/tvnoe.py [moved from youtube_dl/extractor/tvnoe.py with 100% similarity]
youtube_dlc/extractor/tvnow.py [moved from youtube_dl/extractor/tvnow.py with 100% similarity]
youtube_dlc/extractor/tvp.py [moved from youtube_dl/extractor/tvp.py with 100% similarity]
youtube_dlc/extractor/tvplay.py [moved from youtube_dl/extractor/tvplay.py with 100% similarity]
youtube_dlc/extractor/tvplayer.py [moved from youtube_dl/extractor/tvplayer.py with 100% similarity]
youtube_dlc/extractor/tweakers.py [moved from youtube_dl/extractor/tweakers.py with 100% similarity]
youtube_dlc/extractor/twentyfourvideo.py [moved from youtube_dl/extractor/twentyfourvideo.py with 100% similarity]
youtube_dlc/extractor/twentymin.py [moved from youtube_dl/extractor/twentymin.py with 100% similarity]
youtube_dlc/extractor/twentythreevideo.py [moved from youtube_dl/extractor/twentythreevideo.py with 100% similarity]
youtube_dlc/extractor/twitcasting.py [moved from youtube_dl/extractor/twitcasting.py with 100% similarity]
youtube_dlc/extractor/twitch.py [moved from youtube_dl/extractor/twitch.py with 100% similarity]
youtube_dlc/extractor/twitter.py [moved from youtube_dl/extractor/twitter.py with 100% similarity]
youtube_dlc/extractor/udemy.py [moved from youtube_dl/extractor/udemy.py with 99% similarity]
youtube_dlc/extractor/udn.py [moved from youtube_dl/extractor/udn.py with 100% similarity]
youtube_dlc/extractor/ufctv.py [moved from youtube_dl/extractor/ufctv.py with 100% similarity]
youtube_dlc/extractor/uktvplay.py [moved from youtube_dl/extractor/uktvplay.py with 100% similarity]
youtube_dlc/extractor/umg.py [moved from youtube_dl/extractor/umg.py with 100% similarity]
youtube_dlc/extractor/unistra.py [moved from youtube_dl/extractor/unistra.py with 100% similarity]
youtube_dlc/extractor/unity.py [moved from youtube_dl/extractor/unity.py with 100% similarity]
youtube_dlc/extractor/uol.py [moved from youtube_dl/extractor/uol.py with 100% similarity]
youtube_dlc/extractor/uplynk.py [moved from youtube_dl/extractor/uplynk.py with 100% similarity]
youtube_dlc/extractor/urort.py [moved from youtube_dl/extractor/urort.py with 100% similarity]
youtube_dlc/extractor/urplay.py [moved from youtube_dl/extractor/urplay.py with 100% similarity]
youtube_dlc/extractor/usanetwork.py [moved from youtube_dl/extractor/usanetwork.py with 100% similarity]
youtube_dlc/extractor/usatoday.py [moved from youtube_dl/extractor/usatoday.py with 100% similarity]
youtube_dlc/extractor/ustream.py [moved from youtube_dl/extractor/ustream.py with 100% similarity]
youtube_dlc/extractor/ustudio.py [moved from youtube_dl/extractor/ustudio.py with 100% similarity]
youtube_dlc/extractor/varzesh3.py [moved from youtube_dl/extractor/varzesh3.py with 100% similarity]
youtube_dlc/extractor/vbox7.py [moved from youtube_dl/extractor/vbox7.py with 100% similarity]
youtube_dlc/extractor/veehd.py [moved from youtube_dl/extractor/veehd.py with 100% similarity]
youtube_dlc/extractor/veoh.py [moved from youtube_dl/extractor/veoh.py with 100% similarity]
youtube_dlc/extractor/vesti.py [moved from youtube_dl/extractor/vesti.py with 100% similarity]
youtube_dlc/extractor/vevo.py [moved from youtube_dl/extractor/vevo.py with 100% similarity]
youtube_dlc/extractor/vgtv.py [moved from youtube_dl/extractor/vgtv.py with 100% similarity]
youtube_dlc/extractor/vh1.py [moved from youtube_dl/extractor/vh1.py with 100% similarity]
youtube_dlc/extractor/vice.py [moved from youtube_dl/extractor/vice.py with 100% similarity]
youtube_dlc/extractor/vidbit.py [moved from youtube_dl/extractor/vidbit.py with 100% similarity]
youtube_dlc/extractor/viddler.py [moved from youtube_dl/extractor/viddler.py with 100% similarity]
youtube_dlc/extractor/videa.py [moved from youtube_dl/extractor/videa.py with 100% similarity]
youtube_dlc/extractor/videodetective.py [moved from youtube_dl/extractor/videodetective.py with 100% similarity]
youtube_dlc/extractor/videofyme.py [moved from youtube_dl/extractor/videofyme.py with 100% similarity]
youtube_dlc/extractor/videomore.py [moved from youtube_dl/extractor/videomore.py with 100% similarity]
youtube_dlc/extractor/videopress.py [moved from youtube_dl/extractor/videopress.py with 100% similarity]
youtube_dlc/extractor/vidio.py [moved from youtube_dl/extractor/vidio.py with 100% similarity]
youtube_dlc/extractor/vidlii.py [moved from youtube_dl/extractor/vidlii.py with 100% similarity]
youtube_dlc/extractor/vidme.py [moved from youtube_dl/extractor/vidme.py with 100% similarity]
youtube_dlc/extractor/vidzi.py [moved from youtube_dl/extractor/vidzi.py with 96% similarity]
youtube_dlc/extractor/vier.py [moved from youtube_dl/extractor/vier.py with 100% similarity]
youtube_dlc/extractor/viewlift.py [moved from youtube_dl/extractor/viewlift.py with 100% similarity]
youtube_dlc/extractor/viidea.py [moved from youtube_dl/extractor/viidea.py with 100% similarity]
youtube_dlc/extractor/viki.py [moved from youtube_dl/extractor/viki.py with 100% similarity]
youtube_dlc/extractor/vimeo.py [moved from youtube_dl/extractor/vimeo.py with 99% similarity]
youtube_dlc/extractor/vimple.py [moved from youtube_dl/extractor/vimple.py with 100% similarity]
youtube_dlc/extractor/vine.py [moved from youtube_dl/extractor/vine.py with 100% similarity]
youtube_dlc/extractor/viqeo.py [moved from youtube_dl/extractor/viqeo.py with 100% similarity]
youtube_dlc/extractor/viu.py [moved from youtube_dl/extractor/viu.py with 100% similarity]
youtube_dlc/extractor/vk.py [moved from youtube_dl/extractor/vk.py with 100% similarity]
youtube_dlc/extractor/vlive.py [moved from youtube_dl/extractor/vlive.py with 100% similarity]
youtube_dlc/extractor/vodlocker.py [moved from youtube_dl/extractor/vodlocker.py with 100% similarity]
youtube_dlc/extractor/vodpl.py [moved from youtube_dl/extractor/vodpl.py with 100% similarity]
youtube_dlc/extractor/vodplatform.py [moved from youtube_dl/extractor/vodplatform.py with 100% similarity]
youtube_dlc/extractor/voicerepublic.py [moved from youtube_dl/extractor/voicerepublic.py with 100% similarity]
youtube_dlc/extractor/voot.py [moved from youtube_dl/extractor/voot.py with 100% similarity]
youtube_dlc/extractor/voxmedia.py [moved from youtube_dl/extractor/voxmedia.py with 100% similarity]
youtube_dlc/extractor/vrak.py [moved from youtube_dl/extractor/vrak.py with 100% similarity]
youtube_dlc/extractor/vrt.py [moved from youtube_dl/extractor/vrt.py with 100% similarity]
youtube_dlc/extractor/vrv.py [moved from youtube_dl/extractor/vrv.py with 100% similarity]
youtube_dlc/extractor/vshare.py [moved from youtube_dl/extractor/vshare.py with 100% similarity]
youtube_dlc/extractor/vube.py [moved from youtube_dl/extractor/vube.py with 100% similarity]
youtube_dlc/extractor/vuclip.py [moved from youtube_dl/extractor/vuclip.py with 100% similarity]
youtube_dlc/extractor/vvvvid.py [moved from youtube_dl/extractor/vvvvid.py with 100% similarity]
youtube_dlc/extractor/vyborymos.py [moved from youtube_dl/extractor/vyborymos.py with 100% similarity]
youtube_dlc/extractor/vzaar.py [moved from youtube_dl/extractor/vzaar.py with 100% similarity]
youtube_dlc/extractor/wakanim.py [moved from youtube_dl/extractor/wakanim.py with 100% similarity]
youtube_dlc/extractor/walla.py [moved from youtube_dl/extractor/walla.py with 100% similarity]
youtube_dlc/extractor/washingtonpost.py [moved from youtube_dl/extractor/washingtonpost.py with 100% similarity]
youtube_dlc/extractor/wat.py [moved from youtube_dl/extractor/wat.py with 100% similarity]
youtube_dlc/extractor/watchbox.py [moved from youtube_dl/extractor/watchbox.py with 100% similarity]
youtube_dlc/extractor/watchindianporn.py [moved from youtube_dl/extractor/watchindianporn.py with 100% similarity]
youtube_dlc/extractor/wdr.py [moved from youtube_dl/extractor/wdr.py with 100% similarity]
youtube_dlc/extractor/webcaster.py [moved from youtube_dl/extractor/webcaster.py with 100% similarity]
youtube_dlc/extractor/webofstories.py [moved from youtube_dl/extractor/webofstories.py with 100% similarity]
youtube_dlc/extractor/weibo.py [moved from youtube_dl/extractor/weibo.py with 100% similarity]
youtube_dlc/extractor/weiqitv.py [moved from youtube_dl/extractor/weiqitv.py with 100% similarity]
youtube_dlc/extractor/wistia.py [moved from youtube_dl/extractor/wistia.py with 100% similarity]
youtube_dlc/extractor/worldstarhiphop.py [moved from youtube_dl/extractor/worldstarhiphop.py with 100% similarity]
youtube_dlc/extractor/wsj.py [moved from youtube_dl/extractor/wsj.py with 100% similarity]
youtube_dlc/extractor/wwe.py [moved from youtube_dl/extractor/wwe.py with 100% similarity]
youtube_dlc/extractor/xbef.py [moved from youtube_dl/extractor/xbef.py with 100% similarity]
youtube_dlc/extractor/xboxclips.py [moved from youtube_dl/extractor/xboxclips.py with 100% similarity]
youtube_dlc/extractor/xfileshare.py [moved from youtube_dl/extractor/xfileshare.py with 100% similarity]
youtube_dlc/extractor/xhamster.py [moved from youtube_dl/extractor/xhamster.py with 100% similarity]
youtube_dlc/extractor/xiami.py [moved from youtube_dl/extractor/xiami.py with 100% similarity]
youtube_dlc/extractor/ximalaya.py [moved from youtube_dl/extractor/ximalaya.py with 100% similarity]
youtube_dlc/extractor/xminus.py [moved from youtube_dl/extractor/xminus.py with 100% similarity]
youtube_dlc/extractor/xnxx.py [moved from youtube_dl/extractor/xnxx.py with 100% similarity]
youtube_dlc/extractor/xstream.py [moved from youtube_dl/extractor/xstream.py with 100% similarity]
youtube_dlc/extractor/xtube.py [moved from youtube_dl/extractor/xtube.py with 100% similarity]
youtube_dlc/extractor/xuite.py [moved from youtube_dl/extractor/xuite.py with 100% similarity]
youtube_dlc/extractor/xvideos.py [moved from youtube_dl/extractor/xvideos.py with 100% similarity]
youtube_dlc/extractor/xxxymovies.py [moved from youtube_dl/extractor/xxxymovies.py with 100% similarity]
youtube_dlc/extractor/yahoo.py [moved from youtube_dl/extractor/yahoo.py with 100% similarity]
youtube_dlc/extractor/yandexdisk.py [moved from youtube_dl/extractor/yandexdisk.py with 100% similarity]
youtube_dlc/extractor/yandexmusic.py [moved from youtube_dl/extractor/yandexmusic.py with 99% similarity]
youtube_dlc/extractor/yandexvideo.py [moved from youtube_dl/extractor/yandexvideo.py with 100% similarity]
youtube_dlc/extractor/yapfiles.py [moved from youtube_dl/extractor/yapfiles.py with 100% similarity]
youtube_dlc/extractor/yesjapan.py [moved from youtube_dl/extractor/yesjapan.py with 100% similarity]
youtube_dlc/extractor/yinyuetai.py [moved from youtube_dl/extractor/yinyuetai.py with 100% similarity]
youtube_dlc/extractor/ynet.py [moved from youtube_dl/extractor/ynet.py with 100% similarity]
youtube_dlc/extractor/youjizz.py [moved from youtube_dl/extractor/youjizz.py with 100% similarity]
youtube_dlc/extractor/youku.py [moved from youtube_dl/extractor/youku.py with 100% similarity]
youtube_dlc/extractor/younow.py [moved from youtube_dl/extractor/younow.py with 100% similarity]
youtube_dlc/extractor/youporn.py [moved from youtube_dl/extractor/youporn.py with 100% similarity]
youtube_dlc/extractor/yourporn.py [moved from youtube_dl/extractor/yourporn.py with 100% similarity]
youtube_dlc/extractor/yourupload.py [moved from youtube_dl/extractor/yourupload.py with 100% similarity]
youtube_dlc/extractor/youtube.py [moved from youtube_dl/extractor/youtube.py with 99% similarity]
youtube_dlc/extractor/zapiks.py [moved from youtube_dl/extractor/zapiks.py with 100% similarity]
youtube_dlc/extractor/zaq1.py [moved from youtube_dl/extractor/zaq1.py with 100% similarity]
youtube_dlc/extractor/zattoo.py [moved from youtube_dl/extractor/zattoo.py with 100% similarity]
youtube_dlc/extractor/zdf.py [moved from youtube_dl/extractor/zdf.py with 100% similarity]
youtube_dlc/extractor/zingmp3.py [moved from youtube_dl/extractor/zingmp3.py with 100% similarity]
youtube_dlc/extractor/zype.py [moved from youtube_dl/extractor/zype.py with 100% similarity]
youtube_dlc/jsinterp.py [moved from youtube_dl/jsinterp.py with 100% similarity]
youtube_dlc/options.py [moved from youtube_dl/options.py with 96% similarity]
youtube_dlc/postprocessor/__init__.py [moved from youtube_dl/postprocessor/__init__.py with 100% similarity]
youtube_dlc/postprocessor/common.py [moved from youtube_dl/postprocessor/common.py with 100% similarity]
youtube_dlc/postprocessor/embedthumbnail.py [moved from youtube_dl/postprocessor/embedthumbnail.py with 100% similarity]
youtube_dlc/postprocessor/execafterdownload.py [moved from youtube_dl/postprocessor/execafterdownload.py with 100% similarity]
youtube_dlc/postprocessor/ffmpeg.py [moved from youtube_dl/postprocessor/ffmpeg.py with 99% similarity]
youtube_dlc/postprocessor/metadatafromtitle.py [moved from youtube_dl/postprocessor/metadatafromtitle.py with 100% similarity]
youtube_dlc/postprocessor/xattrpp.py [moved from youtube_dl/postprocessor/xattrpp.py with 100% similarity]
youtube_dlc/socks.py [moved from youtube_dl/socks.py with 100% similarity]
youtube_dlc/swfinterp.py [moved from youtube_dl/swfinterp.py with 100% similarity]
youtube_dlc/update.py [moved from youtube_dl/update.py with 93% similarity]
youtube_dlc/utils.py [moved from youtube_dl/utils.py with 99% similarity]
youtube_dlc/version.py [moved from youtube_dl/version.py with 100% similarity]

index 4e43e99f394dfc8506447ea4e8328467f5f6a8f5..d2cce9a1cc718446475b4a7e95919d41fbf70731 100644 (file)
@@ -2,8 +2,8 @@ include README.md
 include LICENSE
 include AUTHORS
 include ChangeLog
-include youtube-dl.bash-completion
-include youtube-dl.fish
-include youtube-dl.1
+include youtube-dlc.bash-completion
+include youtube-dlc.fish
+include youtube-dlc.1
 recursive-include docs Makefile conf.py *.rst
 recursive-include test *
index 3e17365b83d62cf320f70bc45189e78937ec89d3..9588657c15b0360f258a807f767ce22981218230 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
-all: youtube-dl README.md CONTRIBUTING.md README.txt youtube-dl.1 youtube-dl.bash-completion youtube-dl.zsh youtube-dl.fish supportedsites
+all: youtube-dlc README.md CONTRIBUTING.md README.txt youtube-dlc.1 youtube-dlc.bash-completion youtube-dlc.zsh youtube-dlc.fish supportedsites
 
 clean:
-       rm -rf youtube-dl.1.temp.md youtube-dl.1 youtube-dl.bash-completion README.txt MANIFEST build/ dist/ .coverage cover/ youtube-dl.tar.gz youtube-dl.zsh youtube-dl.fish youtube_dl/extractor/lazy_extractors.py *.dump *.part* *.ytdl *.info.json *.mp4 *.m4a *.flv *.mp3 *.avi *.mkv *.webm *.3gp *.wav *.ape *.swf *.jpg *.png CONTRIBUTING.md.tmp youtube-dl youtube-dl.exe
+       rm -rf youtube-dlc.1.temp.md youtube-dlc.1 youtube-dlc.bash-completion README.txt MANIFEST build/ dist/ .coverage cover/ youtube-dlc.tar.gz youtube-dlc.zsh youtube-dlc.fish youtube_dlc/extractor/lazy_extractors.py *.dump *.part* *.ytdl *.info.json *.mp4 *.m4a *.flv *.mp3 *.avi *.mkv *.webm *.3gp *.wav *.ape *.swf *.jpg *.png CONTRIBUTING.md.tmp youtube-dlc youtube-dlc.exe
        find . -name "*.pyc" -delete
        find . -name "*.class" -delete
 
@@ -17,23 +17,23 @@ SYSCONFDIR = $(shell if [ $(PREFIX) = /usr -o $(PREFIX) = /usr/local ]; then ech
 # set markdown input format to "markdown-smart" for pandoc version 2 and to "markdown" for pandoc prior to version 2
 MARKDOWN = $(shell if [ `pandoc -v | head -n1 | cut -d" " -f2 | head -c1` = "2" ]; then echo markdown-smart; else echo markdown; fi)
 
-install: youtube-dl youtube-dl.1 youtube-dl.bash-completion youtube-dl.zsh youtube-dl.fish
+install: youtube-dlc youtube-dlc.1 youtube-dlc.bash-completion youtube-dlc.zsh youtube-dlc.fish
        install -d $(DESTDIR)$(BINDIR)
-       install -m 755 youtube-dl $(DESTDIR)$(BINDIR)
+       install -m 755 youtube-dlc $(DESTDIR)$(BINDIR)
        install -d $(DESTDIR)$(MANDIR)/man1
-       install -m 644 youtube-dl.1 $(DESTDIR)$(MANDIR)/man1
+       install -m 644 youtube-dlc.1 $(DESTDIR)$(MANDIR)/man1
        install -d $(DESTDIR)$(SYSCONFDIR)/bash_completion.d
-       install -m 644 youtube-dl.bash-completion $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/youtube-dl
+       install -m 644 youtube-dlc.bash-completion $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/youtube-dlc
        install -d $(DESTDIR)$(SHAREDIR)/zsh/site-functions
-       install -m 644 youtube-dl.zsh $(DESTDIR)$(SHAREDIR)/zsh/site-functions/_youtube-dl
+       install -m 644 youtube-dlc.zsh $(DESTDIR)$(SHAREDIR)/zsh/site-functions/_youtube-dlc
        install -d $(DESTDIR)$(SYSCONFDIR)/fish/completions
-       install -m 644 youtube-dl.fish $(DESTDIR)$(SYSCONFDIR)/fish/completions/youtube-dl.fish
+       install -m 644 youtube-dlc.fish $(DESTDIR)$(SYSCONFDIR)/fish/completions/youtube-dlc.fish
 
 codetest:
        flake8 .
 
 test:
-       #nosetests --with-coverage --cover-package=youtube_dl --cover-html --verbose --processes 4 test
+       #nosetests --with-coverage --cover-package=youtube_dlc --cover-html --verbose --processes 4 test
        nosetests --verbose test
        $(MAKE) codetest
 
@@ -51,34 +51,34 @@ offlinetest: codetest
                --exclude test_youtube_lists.py \
                --exclude test_youtube_signature.py
 
-tar: youtube-dl.tar.gz
+tar: youtube-dlc.tar.gz
 
 .PHONY: all clean install test tar bash-completion pypi-files zsh-completion fish-completion ot offlinetest codetest supportedsites
 
-pypi-files: youtube-dl.bash-completion README.txt youtube-dl.1 youtube-dl.fish
+pypi-files: youtube-dlc.bash-completion README.txt youtube-dlc.1 youtube-dlc.fish
 
-youtube-dl: youtube_dl/*.py youtube_dl/*/*.py
+youtube-dlc: youtube_dlc/*.py youtube_dlc/*/*.py
        mkdir -p zip
-       for d in youtube_dl youtube_dl/downloader youtube_dl/extractor youtube_dl/postprocessor ; do \
+       for d in youtube_dlc youtube_dlc/downloader youtube_dlc/extractor youtube_dlc/postprocessor ; do \
          mkdir -p zip/$$d ;\
          cp -pPR $$d/*.py zip/$$d/ ;\
        done
-       touch -t 200001010101 zip/youtube_dl/*.py zip/youtube_dl/*/*.py
-       mv zip/youtube_dl/__main__.py zip/
-       cd zip ; zip -q ../youtube-dl youtube_dl/*.py youtube_dl/*/*.py __main__.py
+       touch -t 200001010101 zip/youtube_dlc/*.py zip/youtube_dlc/*/*.py
+       mv zip/youtube_dlc/__main__.py zip/
+       cd zip ; zip -q ../youtube-dlc youtube_dlc/*.py youtube_dlc/*/*.py __main__.py
        rm -rf zip
-       echo '#!$(PYTHON)' > youtube-dl
-       cat youtube-dl.zip >> youtube-dl
-       rm youtube-dl.zip
-       chmod a+x youtube-dl
+       echo '#!$(PYTHON)' > youtube-dlc
+       cat youtube-dlc.zip >> youtube-dlc
+       rm youtube-dlc.zip
+       chmod a+x youtube-dlc
 
-README.md: youtube_dl/*.py youtube_dl/*/*.py
-       COLUMNS=80 $(PYTHON) youtube_dl/__main__.py --help | $(PYTHON) devscripts/make_readme.py
+README.md: youtube_dlc/*.py youtube_dlc/*/*.py
+       COLUMNS=80 $(PYTHON) youtube_dlc/__main__.py --help | $(PYTHON) devscripts/make_readme.py
 
 CONTRIBUTING.md: README.md
        $(PYTHON) devscripts/make_contributing.py README.md CONTRIBUTING.md
 
-issuetemplates: devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md youtube_dl/version.py
+issuetemplates: devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md youtube_dlc/version.py
        $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE/1_broken_site.md
        $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE/2_site_support_request.md
        $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md
@@ -91,34 +91,34 @@ supportedsites:
 README.txt: README.md
        pandoc -f $(MARKDOWN) -t plain README.md -o README.txt
 
-youtube-dl.1: README.md
-       $(PYTHON) devscripts/prepare_manpage.py youtube-dl.1.temp.md
-       pandoc -s -f $(MARKDOWN) -t man youtube-dl.1.temp.md -o youtube-dl.1
-       rm -f youtube-dl.1.temp.md
+youtube-dlc.1: README.md
+       $(PYTHON) devscripts/prepare_manpage.py youtube-dlc.1.temp.md
+       pandoc -s -f $(MARKDOWN) -t man youtube-dlc.1.temp.md -o youtube-dlc.1
+       rm -f youtube-dlc.1.temp.md
 
-youtube-dl.bash-completion: youtube_dl/*.py youtube_dl/*/*.py devscripts/bash-completion.in
+youtube-dlc.bash-completion: youtube_dlc/*.py youtube_dlc/*/*.py devscripts/bash-completion.in
        $(PYTHON) devscripts/bash-completion.py
 
-bash-completion: youtube-dl.bash-completion
+bash-completion: youtube-dlc.bash-completion
 
-youtube-dl.zsh: youtube_dl/*.py youtube_dl/*/*.py devscripts/zsh-completion.in
+youtube-dlc.zsh: youtube_dlc/*.py youtube_dlc/*/*.py devscripts/zsh-completion.in
        $(PYTHON) devscripts/zsh-completion.py
 
-zsh-completion: youtube-dl.zsh
+zsh-completion: youtube-dlc.zsh
 
-youtube-dl.fish: youtube_dl/*.py youtube_dl/*/*.py devscripts/fish-completion.in
+youtube-dlc.fish: youtube_dlc/*.py youtube_dlc/*/*.py devscripts/fish-completion.in
        $(PYTHON) devscripts/fish-completion.py
 
-fish-completion: youtube-dl.fish
+fish-completion: youtube-dlc.fish
 
-lazy-extractors: youtube_dl/extractor/lazy_extractors.py
+lazy-extractors: youtube_dlc/extractor/lazy_extractors.py
 
-_EXTRACTOR_FILES = $(shell find youtube_dl/extractor -iname '*.py' -and -not -iname 'lazy_extractors.py')
-youtube_dl/extractor/lazy_extractors.py: devscripts/make_lazy_extractors.py devscripts/lazy_load_template.py $(_EXTRACTOR_FILES)
+_EXTRACTOR_FILES = $(shell find youtube_dlc/extractor -iname '*.py' -and -not -iname 'lazy_extractors.py')
+youtube_dlc/extractor/lazy_extractors.py: devscripts/make_lazy_extractors.py devscripts/lazy_load_template.py $(_EXTRACTOR_FILES)
        $(PYTHON) devscripts/make_lazy_extractors.py $@
 
-youtube-dl.tar.gz: youtube-dl README.md README.txt youtube-dl.1 youtube-dl.bash-completion youtube-dl.zsh youtube-dl.fish ChangeLog AUTHORS
-       @tar -czf youtube-dl.tar.gz --transform "s|^|youtube-dl/|" --owner 0 --group 0 \
+youtube-dlc.tar.gz: youtube-dlc README.md README.txt youtube-dlc.1 youtube-dlc.bash-completion youtube-dlc.zsh youtube-dlc.fish ChangeLog AUTHORS
+       @tar -czf youtube-dlc.tar.gz --transform "s|^|youtube-dlc/|" --owner 0 --group 0 \
                --exclude '*.DS_Store' \
                --exclude '*.kate-swp' \
                --exclude '*.pyc' \
@@ -128,8 +128,8 @@ youtube-dl.tar.gz: youtube-dl README.md README.txt youtube-dl.1 youtube-dl.bash-
                --exclude '.git' \
                --exclude 'docs/_build' \
                -- \
-               bin devscripts test youtube_dl docs \
+               bin devscripts test youtube_dlc docs \
                ChangeLog AUTHORS LICENSE README.md README.txt \
-               Makefile MANIFEST.in youtube-dl.1 youtube-dl.bash-completion \
-               youtube-dl.zsh youtube-dl.fish setup.py setup.cfg \
-               youtube-dl
+               Makefile MANIFEST.in youtube-dlc.1 youtube-dlc.bash-completion \
+               youtube-dlc.zsh youtube-dlc.fish setup.py setup.cfg \
+               youtube-dlc
index 9854aab92cb6f4fe53107f0116ecb0130c34cd46..5e4cd3a446e59c09a397b9a9176f8b5748de7608 100644 (file)
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ # INSTALLATION
 To build the Windows executable yourself
 
     python -m pip install --upgrade pyinstaller
-    pyinstaller.exe youtube_dl\__main__.py --onefile --name youtube-dlc
+    pyinstaller.exe youtube_dlc\__main__.py --onefile --name youtube-dlc
     
 Or simply execute the `make_win.bat` if pyinstaller is installed.
 There will be a `youtube-dlc.exe` in `/dist`  
@@ -71,18 +71,18 @@ # OPTIONS
                                      extractor
     --default-search PREFIX          Use this prefix for unqualified URLs. For
                                      example "gvsearch2:" downloads two videos
-                                     from google videos for youtube-dl "large
+                                     from google videos for youtube-dlc "large
                                      apple". Use the value "auto" to let
-                                     youtube-dl guess ("auto_warning" to emit a
+                                     youtube-dlc guess ("auto_warning" to emit a
                                      warning when guessing). "error" just throws
                                      an error. The default value "fixup_error"
                                      repairs broken URLs, but emits an error if
                                      this is not possible instead of searching.
     --ignore-config                  Do not read configuration files. When given
                                      in the global configuration file
-                                     /etc/youtube-dl.conf: Do not read the user
+                                     /etc/youtube-dlc.conf: Do not read the user
                                      configuration in ~/.config/youtube-
-                                     dl/config (%APPDATA%/youtube-dl/config.txt
+                                     dl/config (%APPDATA%/youtube-dlc/config.txt
                                      on Windows)
     --config-location PATH           Location of the configuration file; either
                                      the path to the config or its containing
@@ -240,7 +240,7 @@ ## Filesystem Options:
                                      filenames
     -w, --no-overwrites              Do not overwrite files
     -c, --continue                   Force resume of partially downloaded files.
-                                     By default, youtube-dl will resume
+                                     By default, youtube-dlc will resume
                                      downloads if possible.
     --no-continue                    Do not resume partially downloaded files
                                      (restart from beginning)
@@ -258,11 +258,11 @@ ## Filesystem Options:
                                      option)
     --cookies FILE                   File to read cookies from and dump cookie
                                      jar in
-    --cache-dir DIR                  Location in the filesystem where youtube-dl
+    --cache-dir DIR                  Location in the filesystem where youtube-dlc
                                      can store some downloaded information
                                      permanently. By default
-                                     $XDG_CACHE_HOME/youtube-dl or
-                                     ~/.cache/youtube-dl . At the moment, only
+                                     $XDG_CACHE_HOME/youtube-dlc or
+                                     ~/.cache/youtube-dlc . At the moment, only
                                      YouTube player files (for videos with
                                      obfuscated signatures) are cached, but that
                                      may change.
@@ -308,8 +308,8 @@ ## Verbosity / Simulation Options:
                                      files in the current directory to debug
                                      problems
     --print-traffic                  Display sent and read HTTP traffic
-    -C, --call-home                  Contact the youtube-dl server for debugging
-    --no-call-home                   Do NOT contact the youtube-dl server for
+    -C, --call-home                  Contact the youtube-dlc server for debugging
+    --no-call-home                   Do NOT contact the youtube-dlc server for
                                      debugging
 
 ## Workarounds:
@@ -370,7 +370,7 @@ ## Subtitle Options:
 ## Authentication Options:
     -u, --username USERNAME          Login with this account ID
     -p, --password PASSWORD          Account password. If this option is left
-                                     out, youtube-dl will ask interactively.
+                                     out, youtube-dlc will ask interactively.
     -2, --twofactor TWOFACTOR        Two-factor authentication code
     -n, --netrc                      Use .netrc authentication data
     --video-password PASSWORD        Video password (vimeo, smotri, youku)
@@ -381,7 +381,7 @@ ## Adobe Pass Options:
                                      a list of available MSOs
     --ap-username USERNAME           Multiple-system operator account login
     --ap-password PASSWORD           Multiple-system operator account password.
-                                     If this option is left out, youtube-dl will
+                                     If this option is left out, youtube-dlc will
                                      ask interactively.
     --ap-list-mso                    List all supported multiple-system
                                      operators
@@ -444,6 +444,6 @@ ## Post-processing Options:
 
 # COPYRIGHT
 
-youtube-dl is released into the public domain by the copyright holders.
+youtube-dlc is released into the public domain by the copyright holders.
 
 This README file was originally written by [Daniel Bolton](https://github.com/dbbolton) and is likewise released into the public domain.
index 28bd237278da5c0ade9ed96a4cb722c1b6973cf3..1bf41f2ccf9f576bfdcd6d521869e00b452107c4 100644 (file)
@@ -1,4 +1,4 @@
-__youtube_dl()
+__youtube_dlc()
 {
     local cur prev opts fileopts diropts keywords
     COMPREPLY=()
@@ -26,4 +26,4 @@ __youtube_dl()
     fi
 }
 
-complete -F __youtube_dl youtube-dl
+complete -F __youtube_dlc youtube-dlc
index 3d1391334bd38a23c7024192c6c36522acaa5613..d68c9b1ccec6498a798b965c04122cafd94b3c88 100755 (executable)
@@ -6,9 +6,9 @@
 import sys
 
 sys.path.insert(0, dirn(dirn((os.path.abspath(__file__)))))
-import youtube_dl
+import youtube_dlc
 
-BASH_COMPLETION_FILE = "youtube-dl.bash-completion"
+BASH_COMPLETION_FILE = "youtube-dlc.bash-completion"
 BASH_COMPLETION_TEMPLATE = "devscripts/bash-completion.in"
 
 
@@ -26,5 +26,5 @@ def build_completion(opt_parser):
         f.write(filled_template)
 
 
-parser = youtube_dl.parseOpts()[0]
+parser = youtube_dlc.parseOpts()[0]
 build_completion(parser)
index 4a4295ba9cd3b8acf739c983248494c989781e63..62dbd2cb17590bbd2e05fc37a1d7ba6e24af5c46 100644 (file)
@@ -12,7 +12,7 @@
 import os.path
 
 sys.path.insert(0, os.path.dirname(os.path.dirname((os.path.abspath(__file__)))))
-from youtube_dl.compat import (
+from youtube_dlc.compat import (
     compat_input,
     compat_http_server,
     compat_str,
@@ -325,7 +325,7 @@ class YoutubeDLBuilder(object):
     authorizedUsers = ['fraca7', 'phihag', 'rg3', 'FiloSottile', 'ytdl-org']
 
     def __init__(self, **kwargs):
-        if self.repoName != 'youtube-dl':
+        if self.repoName != 'youtube-dlc':
             raise BuildError('Invalid repository "%s"' % self.repoName)
         if self.user not in self.authorizedUsers:
             raise HTTPError('Unauthorized user "%s"' % self.user, 401)
index 740f04de0f22ad3ac6352b114b0e8f99cf717a9f..68a33d823f2308496123fd2e08c21ff39249008d 100644 (file)
@@ -15,8 +15,8 @@
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 from test.helper import gettestcases
-from youtube_dl.utils import compat_urllib_parse_urlparse
-from youtube_dl.utils import compat_urllib_request
+from youtube_dlc.utils import compat_urllib_parse_urlparse
+from youtube_dlc.utils import compat_urllib_request
 
 if len(sys.argv) > 1:
     METHOD = 'LIST'
index 2ddfa109698864f642b97f8bcb9846f84631e4d9..4714d81a6ee17ea117a2a4378dd8b6c5f80fb968 100644 (file)
 
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.compat import (
+from youtube_dlc.compat import (
     compat_basestring,
     compat_getpass,
     compat_print,
     compat_urllib_request,
 )
-from youtube_dl.utils import (
+from youtube_dlc.utils import (
     make_HTTPS_handler,
     sanitized_Request,
 )
@@ -98,7 +98,7 @@ def main():
     releaser = GitHubReleaser()
 
     new_release = releaser.create_release(
-        version, name='youtube-dl %s' % version, body=body)
+        version, name='youtube-dlc %s' % version, body=body)
     release_id = new_release['id']
 
     for asset in os.listdir(build_path):
index eb79765da20b795fed35f5c02e41fb9ada630626..4f08b6d4a427eedec81d3cc78f34eb119df1ff6b 100644 (file)
@@ -2,4 +2,4 @@
 {{commands}}
 
 
-complete --command youtube-dl --arguments ":ytfavorites :ytrecommended :ytsubscriptions :ytwatchlater :ythistory"
+complete --command youtube-dlc --arguments ":ytfavorites :ytrecommended :ytsubscriptions :ytwatchlater :ythistory"
index 51d19dd33d3bf5c05fc86f3c63e23c00871fda90..a27ef44f8fe1474176291f69b31ff5a3ea46337c 100755 (executable)
@@ -7,10 +7,10 @@
 import sys
 
 sys.path.insert(0, dirn(dirn((os.path.abspath(__file__)))))
-import youtube_dl
-from youtube_dl.utils import shell_quote
+import youtube_dlc
+from youtube_dlc.utils import shell_quote
 
-FISH_COMPLETION_FILE = 'youtube-dl.fish'
+FISH_COMPLETION_FILE = 'youtube-dlc.fish'
 FISH_COMPLETION_TEMPLATE = 'devscripts/fish-completion.in'
 
 EXTRA_ARGS = {
@@ -30,7 +30,7 @@ def build_completion(opt_parser):
     for group in opt_parser.option_groups:
         for option in group.option_list:
             long_option = option.get_opt_string().strip('-')
-            complete_cmd = ['complete', '--command', 'youtube-dl', '--long-option', long_option]
+            complete_cmd = ['complete', '--command', 'youtube-dlc', '--long-option', long_option]
             if option._short_opts:
                 complete_cmd += ['--short-option', option._short_opts[0].strip('-')]
             if option.help != optparse.SUPPRESS_HELP:
@@ -45,5 +45,5 @@ def build_completion(opt_parser):
         f.write(filled_template)
 
 
-parser = youtube_dl.parseOpts()[0]
+parser = youtube_dlc.parseOpts()[0]
 build_completion(parser)
index e3df42cc2da6c99d9104c9bd2bac776af5a61c46..c89bb547e78dc4b2cd615d7ed26c9faa4a708da6 100644 (file)
@@ -7,8 +7,8 @@
 import sys
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.utils import intlist_to_bytes
-from youtube_dl.aes import aes_encrypt, key_expansion
+from youtube_dlc.utils import intlist_to_bytes
+from youtube_dlc.aes import aes_encrypt, key_expansion
 
 secret_msg = b'Secret message goes here'
 
index 867ea0048fb88f1ca1382f11b1c60b17110d4fc8..04588a5eec75e21035fd2d81c866a15d3afc7dcc 100755 (executable)
@@ -22,9 +22,9 @@
 new_version = {}
 
 filenames = {
-    'bin': 'youtube-dl',
-    'exe': 'youtube-dl.exe',
-    'tar': 'youtube-dl-%s.tar.gz' % version}
+    'bin': 'youtube-dlc',
+    'exe': 'youtube-dlc.exe',
+    'tar': 'youtube-dlc-%s.tar.gz' % version}
 build_dir = os.path.join('..', '..', 'build', version)
 for key, filename in filenames.items():
     url = 'https://yt-dl.org/downloads/%s/%s' % (version, filename)
index 506a623772e0c2195f6b3692575f5942e84c046c..b07f1e830c6191710ab3ea67d5a1c2b0e49bf54f 100755 (executable)
     <?xml version="1.0" encoding="utf-8"?>
     <feed xmlns="http://www.w3.org/2005/Atom">
         <link rel="self" href="http://ytdl-org.github.io/youtube-dl/update/releases.atom" />
-        <title>youtube-dl releases</title>
-        <id>https://yt-dl.org/feed/youtube-dl-updates-feed</id>
+        <title>youtube-dlc releases</title>
+        <id>https://yt-dl.org/feed/youtube-dlc-updates-feed</id>
         <updated>@TIMESTAMP@</updated>
         @ENTRIES@
     </feed>""")
 
 entry_template = textwrap.dedent("""
     <entry>
-        <id>https://yt-dl.org/feed/youtube-dl-updates-feed/youtube-dl-@VERSION@</id>
+        <id>https://yt-dl.org/feed/youtube-dlc-updates-feed/youtube-dlc-@VERSION@</id>
         <title>New version @VERSION@</title>
-        <link href="http://ytdl-org.github.io/youtube-dl" />
+        <link href="http://ytdl-org.github.io/youtube-dlc" />
         <content type="xhtml">
             <div xmlns="http://www.w3.org/1999/xhtml">
                 Downloads available at <a href="https://yt-dl.org/downloads/@VERSION@/">https://yt-dl.org/downloads/@VERSION@/</a>
             </div>
         </content>
         <author>
-            <name>The youtube-dl maintainers</name>
+            <name>The youtube-dlc maintainers</name>
         </author>
         <updated>@TIMESTAMP@</updated>
     </entry>
index 531c93c7089c1847a7e9018fcda5ca177f68547e..38acb5d9a2df82b9b5e892bb85d02b416f15c36c 100755 (executable)
@@ -5,10 +5,10 @@
 import os
 import textwrap
 
-# We must be able to import youtube_dl
+# We must be able to import youtube_dlc
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
 
-import youtube_dl
+import youtube_dlc
 
 
 def main():
@@ -16,7 +16,7 @@ def main():
         template = tmplf.read()
 
     ie_htmls = []
-    for ie in youtube_dl.list_extractors(age_limit=None):
+    for ie in youtube_dlc.list_extractors(age_limit=None):
         ie_html = '<b>{}</b>'.format(ie.IE_NAME)
         ie_desc = getattr(ie, 'IE_DESC', None)
         if ie_desc is False:
index 226d1a5d6644953982db6346a00a21ec45f9b089..f18de05600898789cc0436b9f63b49910dc263be 100755 (executable)
@@ -20,7 +20,7 @@ def main():
     bug_text = re.search(
         r'(?s)#\s*BUGS\s*[^\n]*\s*(.*?)#\s*COPYRIGHT', readme).group(1)
     dev_text = re.search(
-        r'(?s)(#\s*DEVELOPER INSTRUCTIONS.*?)#\s*EMBEDDING YOUTUBE-DL',
+        r'(?s)(#\s*DEVELOPER INSTRUCTIONS.*?)#\s*EMBEDDING youtube-dlc',
         readme).group(1)
 
     out = bug_text + dev_text
index b7ad23d8363005c7f62056822219d7772e1d91d5..37cb0d4ee11987ae690b5f61306b5de1517f0a02 100644 (file)
@@ -16,9 +16,9 @@ def main():
     with io.open(infile, encoding='utf-8') as inf:
         issue_template_tmpl = inf.read()
 
-    # Get the version from youtube_dl/version.py without importing the package
-    exec(compile(open('youtube_dl/version.py').read(),
-                 'youtube_dl/version.py', 'exec'))
+    # Get the version from youtube_dlc/version.py without importing the package
+    exec(compile(open('youtube_dlc/version.py').read(),
+                 'youtube_dlc/version.py', 'exec'))
 
     out = issue_template_tmpl % {'version': locals()['__version__']}
 
index 0a1762dbce85adf9049529ec15bdb61510787d0a..e6de72b33a2ad4e5bf3b8a2153b16119bf106634 100644 (file)
@@ -14,8 +14,8 @@
 if os.path.exists(lazy_extractors_filename):
     os.remove(lazy_extractors_filename)
 
-from youtube_dl.extractor import _ALL_CLASSES
-from youtube_dl.extractor.common import InfoExtractor, SearchInfoExtractor
+from youtube_dlc.extractor import _ALL_CLASSES
+from youtube_dlc.extractor.common import InfoExtractor, SearchInfoExtractor
 
 with open('devscripts/lazy_load_template.py', 'rt') as f:
     module_template = f.read()
index 764795bc5b1e560b033c2e9a0c395cecb10b1242..0ae6f8aa3092041bec374cee522cd5de4129ab77 100644 (file)
@@ -7,10 +7,10 @@
 import sys
 
 
-# Import youtube_dl
+# Import youtube_dlc
 ROOT_DIR = os.path.join(os.path.dirname(__file__), '..')
 sys.path.insert(0, ROOT_DIR)
-import youtube_dl
+import youtube_dlc
 
 
 def main():
@@ -33,7 +33,7 @@ def gen_ies_md(ies):
                 ie_md += ' (Currently broken)'
             yield ie_md
 
-    ies = sorted(youtube_dl.gen_extractors(), key=lambda i: i.IE_NAME.lower())
+    ies = sorted(youtube_dlc.gen_extractors(), key=lambda i: i.IE_NAME.lower())
     out = '# Supported sites\n' + ''.join(
         ' - ' + md + '\n'
         for md in gen_ies_md(ies))
index 76bf873e1bd70b7e5c3a20caf2ea80f0941a2dea..843ade482ef443ba0fb44dd4fdaaa88f41548b41 100644 (file)
@@ -8,7 +8,7 @@
 ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 README_FILE = os.path.join(ROOT_DIR, 'README.md')
 
-PREFIX = r'''%YOUTUBE-DL(1)
+PREFIX = r'''%youtube-dlc(1)
 
 # NAME
 
@@ -16,7 +16,7 @@
 
 # SYNOPSIS
 
-**youtube-dl** \[OPTIONS\] URL [URL...]
+**youtube-dlc** \[OPTIONS\] URL [URL...]
 
 '''
 
@@ -33,7 +33,7 @@ def main():
         readme = f.read()
 
     readme = re.sub(r'(?s)^.*?(?=# DESCRIPTION)', '', readme)
-    readme = re.sub(r'\s+youtube-dl \[OPTIONS\] URL \[URL\.\.\.\]', '', readme)
+    readme = re.sub(r'\s+youtube-dlc \[OPTIONS\] URL \[URL\.\.\.\]', '', readme)
     readme = PREFIX + readme
 
     readme = filter_options(readme)
index f2411c92724f3df995d981f31eccb0a08d390cd0..04cb7fec1b6d185ddd126564804cf949a6f5dd63 100755 (executable)
@@ -53,8 +53,8 @@ fi
 
 if [ ! -z "`git tag | grep "$version"`" ]; then echo 'ERROR: version already present'; exit 1; fi
 if [ ! -z "`git status --porcelain | grep -v CHANGELOG`" ]; then echo 'ERROR: the working directory is not clean; commit or stash changes'; exit 1; fi
-useless_files=$(find youtube_dl -type f -not -name '*.py')
-if [ ! -z "$useless_files" ]; then echo "ERROR: Non-.py files in youtube_dl: $useless_files"; exit 1; fi
+useless_files=$(find youtube_dlc -type f -not -name '*.py')
+if [ ! -z "$useless_files" ]; then echo "ERROR: Non-.py files in youtube_dlc: $useless_files"; exit 1; fi
 if [ ! -f "updates_key.pem" ]; then echo 'ERROR: updates_key.pem missing'; exit 1; fi
 if ! type pandoc >/dev/null 2>/dev/null; then echo 'ERROR: pandoc is missing'; exit 1; fi
 if ! python3 -c 'import rsa' 2>/dev/null; then echo 'ERROR: python3-rsa is missing'; exit 1; fi
@@ -68,18 +68,18 @@ make clean
 if $skip_tests ; then
     echo 'SKIPPING TESTS'
 else
-    nosetests --verbose --with-coverage --cover-package=youtube_dl --cover-html test --stop || exit 1
+    nosetests --verbose --with-coverage --cover-package=youtube_dlc --cover-html test --stop || exit 1
 fi
 
 /bin/echo -e "\n### Changing version in version.py..."
-sed -i "s/__version__ = '.*'/__version__ = '$version'/" youtube_dl/version.py
+sed -i "s/__version__ = '.*'/__version__ = '$version'/" youtube_dlc/version.py
 
 /bin/echo -e "\n### Changing version in ChangeLog..."
 sed -i "s/<unreleased>/$version/" ChangeLog
 
-/bin/echo -e "\n### Committing documentation, templates and youtube_dl/version.py..."
+/bin/echo -e "\n### Committing documentation, templates and youtube_dlc/version.py..."
 make README.md CONTRIBUTING.md issuetemplates supportedsites
-git add README.md CONTRIBUTING.md .github/ISSUE_TEMPLATE/1_broken_site.md .github/ISSUE_TEMPLATE/2_site_support_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md .github/ISSUE_TEMPLATE/4_bug_report.md .github/ISSUE_TEMPLATE/5_feature_request.md .github/ISSUE_TEMPLATE/6_question.md docs/supportedsites.md youtube_dl/version.py ChangeLog
+git add README.md CONTRIBUTING.md .github/ISSUE_TEMPLATE/1_broken_site.md .github/ISSUE_TEMPLATE/2_site_support_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md .github/ISSUE_TEMPLATE/4_bug_report.md .github/ISSUE_TEMPLATE/5_feature_request.md .github/ISSUE_TEMPLATE/6_question.md docs/supportedsites.md youtube_dlc/version.py ChangeLog
 git commit $gpg_sign_commits -m "release $version"
 
 /bin/echo -e "\n### Now tagging, signing and pushing..."
@@ -94,13 +94,13 @@ git push origin "$version"
 
 /bin/echo -e "\n### OK, now it is time to build the binaries..."
 REV=$(git rev-parse HEAD)
-make youtube-dl youtube-dl.tar.gz
+make youtube-dlc youtube-dlc.tar.gz
 read -p "VM running? (y/n) " -n 1
-wget "http://$buildserver/build/ytdl-org/youtube-dl/youtube-dl.exe?rev=$REV" -O youtube-dl.exe
+wget "http://$buildserver/build/ytdl-org/youtube-dl/youtube-dlc.exe?rev=$REV" -O youtube-dlc.exe
 mkdir -p "build/$version"
-mv youtube-dl youtube-dl.exe "build/$version"
-mv youtube-dl.tar.gz "build/$version/youtube-dl-$version.tar.gz"
-RELEASE_FILES="youtube-dl youtube-dl.exe youtube-dl-$version.tar.gz"
+mv youtube-dlc youtube-dlc.exe "build/$version"
+mv youtube-dlc.tar.gz "build/$version/youtube-dlc-$version.tar.gz"
+RELEASE_FILES="youtube-dlc youtube-dlc.exe youtube-dlc-$version.tar.gz"
 (cd build/$version/ && md5sum $RELEASE_FILES > MD5SUMS)
 (cd build/$version/ && sha1sum $RELEASE_FILES > SHA1SUMS)
 (cd build/$version/ && sha256sum $RELEASE_FILES > SHA2-256SUMS)
index 6c8d1cc2d29219997de1e216bae08de2ef8a02fc..ef90a56ab2e01a9dfc71267fd242fdcc3f70bfa0 100644 (file)
@@ -9,11 +9,11 @@
 
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.compat import (
+from youtube_dlc.compat import (
     compat_print,
     compat_urllib_request,
 )
-from youtube_dl.utils import format_bytes
+from youtube_dlc.utils import format_bytes
 
 
 def format_size(bytes):
@@ -36,9 +36,9 @@ def format_size(bytes):
             asset_name = asset['name']
             total_bytes += asset['download_count'] * asset['size']
             if all(not re.match(p, asset_name) for p in (
-                    r'^youtube-dl$',
-                    r'^youtube-dl-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$',
-                    r'^youtube-dl\.exe$')):
+                    r'^youtube-dlc$',
+                    r'^youtube-dlc-\d{4}\.\d{2}\.\d{2}(?:\.\d+)?\.tar\.gz$',
+                    r'^youtube-dlc\.exe$')):
                 continue
             compat_print(
                 ' %s size: %s downloads: %d'
index b394a1ae7447797273cda4178de08b27ced26735..bb021862fbec13415e8db41b755e5796ea74e741 100644 (file)
@@ -1,6 +1,6 @@
-#compdef youtube-dl
+#compdef youtube-dlc
 
-__youtube_dl() {
+__youtube_dlc() {
     local curcontext="$curcontext" fileopts diropts cur prev
     typeset -A opt_args
     fileopts="{{fileopts}}"
@@ -25,4 +25,4 @@ __youtube_dl() {
     esac
 }
 
-__youtube_dl
\ No newline at end of file
+__youtube_dlc
\ No newline at end of file
index 60aaf76cc3297adc6e80984890e33e4267b95c2b..8b957144f9c1dbb53328865e12e74c1780b57000 100755 (executable)
@@ -6,9 +6,9 @@
 import sys
 
 sys.path.insert(0, dirn(dirn((os.path.abspath(__file__)))))
-import youtube_dl
+import youtube_dlc
 
-ZSH_COMPLETION_FILE = "youtube-dl.zsh"
+ZSH_COMPLETION_FILE = "youtube-dlc.zsh"
 ZSH_COMPLETION_TEMPLATE = "devscripts/zsh-completion.in"
 
 
@@ -45,5 +45,5 @@ def build_completion(opt_parser):
         f.write(template)
 
 
-parser = youtube_dl.parseOpts()[0]
+parser = youtube_dlc.parseOpts()[0]
 build_completion(parser)
index 712218045524bd65fe4e36870fee67ee8557ae9d..a7159ff4595eed29dab5f524b9f6064dc918b9c7 100644 (file)
@@ -85,17 +85,17 @@ qthelp:
        @echo
        @echo "Build finished; now you can run "qcollectiongenerator" with the" \
              ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
-       @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/youtube-dl.qhcp"
+       @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/youtube-dlc.qhcp"
        @echo "To view the help file:"
-       @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/youtube-dl.qhc"
+       @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/youtube-dlc.qhc"
 
 devhelp:
        $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
        @echo
        @echo "Build finished."
        @echo "To view the help file:"
-       @echo "# mkdir -p $$HOME/.local/share/devhelp/youtube-dl"
-       @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/youtube-dl"
+       @echo "# mkdir -p $$HOME/.local/share/devhelp/youtube-dlc"
+       @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/youtube-dlc"
        @echo "# devhelp"
 
 epub:
index 0aaf1b8fcf8220301d63250e83cb1587b618388c..fa616ebbb6e19daa6f5d240614a5b89f2ac3fd00 100644 (file)
@@ -1,6 +1,6 @@
 # coding: utf-8
 #
-# youtube-dl documentation build configuration file, created by
+# youtube-dlc documentation build configuration file, created by
 # sphinx-quickstart on Fri Mar 14 21:05:43 2014.
 #
 # This file is execfile()d with the current directory set to its
@@ -14,7 +14,7 @@
 
 import sys
 import os
-# Allows to import youtube_dl
+# Allows to import youtube_dlc
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 # -- General configuration ------------------------------------------------
@@ -36,7 +36,7 @@
 master_doc = 'index'
 
 # General information about the project.
-project = u'youtube-dl'
+project = u'youtube-dlc'
 copyright = u'2014, Ricardo Garcia Gonzalez'
 
 # The version info for the project you're documenting, acts as replacement for
@@ -44,7 +44,7 @@
 # built documents.
 #
 # The short X.Y version.
-from youtube_dl.version import __version__
+from youtube_dlc.version import __version__
 version = __version__
 # The full version, including alpha/beta/rc tags.
 release = version
@@ -68,4 +68,4 @@
 html_static_path = ['_static']
 
 # Output file base name for HTML help builder.
-htmlhelp_basename = 'youtube-dldoc'
+htmlhelp_basename = 'youtube-dlcdoc'
index b746ff95baf6679b93a5836a305dfb6fe7a92000..afa26fef1e7fe0df485be5933f04e8fa5bb45675 100644 (file)
@@ -1,13 +1,13 @@
-Welcome to youtube-dl's documentation!
+Welcome to youtube-dlc's documentation!
 ======================================
 
-*youtube-dl* is a command-line program to download videos from YouTube.com and more sites.
+*youtube-dlc* is a command-line program to download videos from YouTube.com and more sites.
 It can also be used in Python code.
 
 Developer guide
 ---------------
 
-This section contains information for using *youtube-dl* from Python programs.
+This section contains information for using *youtube-dlc* from Python programs.
 
 .. toctree::
     :maxdepth: 2
index 03d72882e02f04866db41ad2b0bcb573b8c9f1dc..6413659cfdcf54b44fb6928e8fc58aa948496945 100644 (file)
@@ -1,11 +1,11 @@
-Using the ``youtube_dl`` module
+Using the ``youtube_dlc`` module
 ===============================
 
-When using the ``youtube_dl`` module, you start by creating an instance of :class:`YoutubeDL` and adding all the available extractors:
+When using the ``youtube_dlc`` module, you start by creating an instance of :class:`YoutubeDL` and adding all the available extractors:
 
 .. code-block:: python
 
-    >>> from youtube_dl import YoutubeDL
+    >>> from youtube_dlc import YoutubeDL
     >>> ydl = YoutubeDL()
     >>> ydl.add_default_info_extractors()
 
@@ -22,7 +22,7 @@ You use the :meth:`YoutubeDL.extract_info` method for getting the video informat
     [youtube] BaW_jenozKc: Downloading video info webpage
     [youtube] BaW_jenozKc: Extracting video information
     >>> info['title']
-    'youtube-dl test video "\'/\\ä↭𝕐'
+    'youtube-dlc test video "\'/\\ä↭𝕐'
     >>> info['height'], info['width']
     (720, 1280)
 
index a1f692e1731665b2e01573c2981c5a3dee88295f..c5caac08ff202eaaca13fb9a0b3e206ad6133094 100644 (file)
@@ -1 +1 @@
-pyinstaller.exe youtube_dl\__main__.py --onefile --name youtube-dlc
\ No newline at end of file
+pyinstaller.exe youtube_dlc\__main__.py --onefile --name youtube-dlc
\ No newline at end of file
index da78a9c471d548a01711d37012e209f421134a37..f658aaa0ace11ac7599e26fac1c6138bea0d18aa 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -2,5 +2,5 @@
 universal = True
 
 [flake8]
-exclude = youtube_dl/extractor/__init__.py,devscripts/buildserver.py,devscripts/lazy_load_template.py,devscripts/make_issue_template.py,setup.py,build,.git,venv
+exclude = youtube_dlc/extractor/__init__.py,devscripts/buildserver.py,devscripts/lazy_load_template.py,devscripts/make_issue_template.py,setup.py,build,.git,venv
 ignore = E402,E501,E731,E741,W503
index 23553b88a923ad8203ce5f45ee778ae4d9319ab2..083f9b0f8a0444f4fd2928a0195eca01c95f97ec 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -7,9 +7,9 @@
 import sys
 from distutils.spawn import spawn
 
-# Get the version from youtube_dl/version.py without importing the package
-exec(compile(open('youtube_dl/version.py').read(),
-             'youtube_dl/version.py', 'exec'))
+# Get the version from youtube_dlc/version.py without importing the package
+exec(compile(open('youtube_dlc/version.py').read(),
+             'youtube_dlc/version.py', 'exec'))
 
 DESCRIPTION = 'Media downloader supporting various sites such as youtube'
 LONG_DESCRIPTION = 'Command-line program to download videos from YouTube.com and other video sites. Based on a more active community fork.'
     print("inv")
 else:
     files_spec = [
-        ('etc/bash_completion.d', ['youtube-dl.bash-completion']),
-        ('etc/fish/completions', ['youtube-dl.fish']),
-        ('share/doc/youtube_dl', ['README.txt']),
-        ('share/man/man1', ['youtube-dl.1'])
+        ('etc/bash_completion.d', ['youtube-dlc.bash-completion']),
+        ('etc/fish/completions', ['youtube-dlc.fish']),
+        ('share/doc/youtube_dlc', ['README.txt']),
+        ('share/man/man1', ['youtube-dlc.1'])
     ]
     root = os.path.dirname(os.path.abspath(__file__))
     data_files = []
@@ -38,7 +38,7 @@
         'data_files': data_files,
     }
     #if setuptools_available:
-    params['entry_points'] = {'console_scripts': ['youtube-dlc = youtube_dl:main']}
+    params['entry_points'] = {'console_scripts': ['youtube-dlc = youtube_dlc:main']}
     #else:
     #    params['scripts'] = ['bin/youtube-dlc']
 
@@ -54,7 +54,7 @@ def finalize_options(self):
 
     def run(self):
         spawn(
-            [sys.executable, 'devscripts/make_lazy_extractors.py', 'youtube_dl/extractor/lazy_extractors.py'],
+            [sys.executable, 'devscripts/make_lazy_extractors.py', 'youtube_dlc/extractor/lazy_extractors.py'],
             dry_run=self.dry_run,
         )
 
@@ -69,9 +69,9 @@ def run(self):
     url="https://github.com/blackjack4494/youtube-dlc",
     # packages=setuptools.find_packages(),
        packages=[
-        'youtube_dl',
-        'youtube_dl.extractor', 'youtube_dl.downloader',
-        'youtube_dl.postprocessor'],
+        'youtube_dlc',
+        'youtube_dlc.extractor', 'youtube_dlc.downloader',
+        'youtube_dlc.postprocessor'],
     classifiers=[
            "Topic :: Multimedia :: Video",
         "Development Status :: 5 - Production/Stable",
index e62aab11e777cca955bb8a7a2149d7216430dbca..f45818b0f124d7e5ecaf70818176bc27fa46be5d 100644 (file)
 import ssl
 import sys
 
-import youtube_dl.extractor
-from youtube_dl import YoutubeDL
-from youtube_dl.compat import (
+import youtube_dlc.extractor
+from youtube_dlc import YoutubeDL
+from youtube_dlc.compat import (
     compat_os_name,
     compat_str,
 )
-from youtube_dl.utils import (
+from youtube_dlc.utils import (
     preferredencoding,
     write_string,
 )
@@ -90,7 +90,7 @@ def report_warning(self, message):
 
 
 def gettestcases(include_onlymatching=False):
-    for ie in youtube_dl.extractor.gen_extractors():
+    for ie in youtube_dlc.extractor.gen_extractors():
         for tc in ie.get_testcases(include_onlymatching):
             yield tc
 
index 71f6608feae4a5bcad37e96d74e795e7535a5dc7..bdd01e41a3e767b0e75dfc23a204ecd7e727d535 100644 (file)
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 from test.helper import FakeYDL, expect_dict, expect_value, http_server_port
-from youtube_dl.compat import compat_etree_fromstring, compat_http_server
-from youtube_dl.extractor.common import InfoExtractor
-from youtube_dl.extractor import YoutubeIE, get_info_extractor
-from youtube_dl.utils import encode_data_uri, strip_jsonp, ExtractorError, RegexNotFoundError
+from youtube_dlc.compat import compat_etree_fromstring, compat_http_server
+from youtube_dlc.extractor.common import InfoExtractor
+from youtube_dlc.extractor import YoutubeIE, get_info_extractor
+from youtube_dlc.utils import encode_data_uri, strip_jsonp, ExtractorError, RegexNotFoundError
 import threading
 
 
index 1e204e551b499edead22ce65e371787ca22ffc35..6d02c2a54dbca10024ff75c7599ac2e267f63512 100644 (file)
 import copy
 
 from test.helper import FakeYDL, assertRegexpMatches
-from youtube_dl import YoutubeDL
-from youtube_dl.compat import compat_str, compat_urllib_error
-from youtube_dl.extractor import YoutubeIE
-from youtube_dl.extractor.common import InfoExtractor
-from youtube_dl.postprocessor.common import PostProcessor
-from youtube_dl.utils import ExtractorError, match_filter_func
+from youtube_dlc import YoutubeDL
+from youtube_dlc.compat import compat_str, compat_urllib_error
+from youtube_dlc.extractor import YoutubeIE
+from youtube_dlc.extractor.common import InfoExtractor
+from youtube_dlc.postprocessor.common import PostProcessor
+from youtube_dlc.utils import ExtractorError, match_filter_func
 
 TEST_URL = 'http://localhost/sample.mp4'
 
index 05f48bd7417e478ab1ae9ae7eddaca4cbc7039c3..615d8a9d882d751ad9d5640da971d1353320cf0e 100644 (file)
@@ -10,7 +10,7 @@
 import unittest
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.utils import YoutubeDLCookieJar
+from youtube_dlc.utils import YoutubeDLCookieJar
 
 
 class TestYoutubeDLCookieJar(unittest.TestCase):
index cc89fb6ab2770ebeb4b47b5458e20399ec37e765..ef1e1b189ccd31f88fef40339f2cdf9680860bad 100644 (file)
@@ -8,8 +8,8 @@
 import unittest
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.aes import aes_decrypt, aes_encrypt, aes_cbc_decrypt, aes_cbc_encrypt, aes_decrypt_text
-from youtube_dl.utils import bytes_to_intlist, intlist_to_bytes
+from youtube_dlc.aes import aes_decrypt, aes_encrypt, aes_cbc_decrypt, aes_cbc_encrypt, aes_decrypt_text
+from youtube_dlc.utils import bytes_to_intlist, intlist_to_bytes
 import base64
 
 # the encrypted data can be generate with 'devscripts/generate_aes_testdata.py'
index 6f5513faa2c5551ce3f3c9d2967a55b28adad858..b73bdd7674cf79f40cb54792e007d806ab968af7 100644 (file)
@@ -10,7 +10,7 @@
 from test.helper import try_rm
 
 
-from youtube_dl import YoutubeDL
+from youtube_dlc import YoutubeDL
 
 
 def _download_restricted(url, filename, age):
index 81056a999d2014506b589ea4b31ab67951486f1b..7b6664cac31a0680944d7d85a2de9a1a7723313c 100644 (file)
@@ -12,7 +12,7 @@
 
 from test.helper import gettestcases
 
-from youtube_dl.extractor import (
+from youtube_dlc.extractor import (
     FacebookIE,
     gen_extractors,
     YoutubeIE,
@@ -70,7 +70,7 @@ def test_youtube_show_matching(self):
 
     def test_youtube_search_matching(self):
         self.assertMatch('http://www.youtube.com/results?search_query=making+mustard', ['youtube:search_url'])
-        self.assertMatch('https://www.youtube.com/results?baz=bar&search_query=youtube-dl+test+video&filters=video&lclk=video', ['youtube:search_url'])
+        self.assertMatch('https://www.youtube.com/results?baz=bar&search_query=youtube-dlc+test+video&filters=video&lclk=video', ['youtube:search_url'])
 
     def test_youtube_extract(self):
         assertExtractId = lambda url, id: self.assertEqual(YoutubeIE.extract_id(url), id)
index a161601420db336f949eacd68e2f846bcf8d3699..1167519d11ba1dae567567d030cbec31a54cd3ac 100644 (file)
@@ -13,7 +13,7 @@
 
 
 from test.helper import FakeYDL
-from youtube_dl.cache import Cache
+from youtube_dlc.cache import Cache
 
 
 def _is_empty(d):
index 86ff389fdfc560b987c2d82e98629a1aa7344002..8c49a001e5eabe6d058af188e1b566f7e3d58474 100644 (file)
@@ -10,7 +10,7 @@
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 
-from youtube_dl.compat import (
+from youtube_dlc.compat import (
     compat_getenv,
     compat_setenv,
     compat_etree_Element,
 class TestCompat(unittest.TestCase):
     def test_compat_getenv(self):
         test_str = 'тест'
-        compat_setenv('YOUTUBE_DL_COMPAT_GETENV', test_str)
-        self.assertEqual(compat_getenv('YOUTUBE_DL_COMPAT_GETENV'), test_str)
+        compat_setenv('youtube_dlc_COMPAT_GETENV', test_str)
+        self.assertEqual(compat_getenv('youtube_dlc_COMPAT_GETENV'), test_str)
 
     def test_compat_setenv(self):
-        test_var = 'YOUTUBE_DL_COMPAT_SETENV'
+        test_var = 'youtube_dlc_COMPAT_SETENV'
         test_str = 'тест'
         compat_setenv(test_var, test_str)
         compat_getenv(test_var)
@@ -46,11 +46,11 @@ def test_compat_expanduser(self):
         compat_setenv('HOME', old_home or '')
 
     def test_all_present(self):
-        import youtube_dl.compat
-        all_names = youtube_dl.compat.__all__
+        import youtube_dlc.compat
+        all_names = youtube_dlc.compat.__all__
         present_names = set(filter(
             lambda c: '_' in c and not c.startswith('_'),
-            dir(youtube_dl.compat))) - set(['unicode_literals'])
+            dir(youtube_dlc.compat))) - set(['unicode_literals'])
         self.assertEqual(all_names, sorted(present_names))
 
     def test_compat_urllib_parse_unquote(self):
index ebe820dfc1990e4df6758795345375375402900b..bcd3b40417b8e0f2b17b0de10873aa528a96f276 100644 (file)
 import json
 import socket
 
-import youtube_dl.YoutubeDL
-from youtube_dl.compat import (
+import youtube_dlc.YoutubeDL
+from youtube_dlc.compat import (
     compat_http_client,
     compat_urllib_error,
     compat_HTTPError,
 )
-from youtube_dl.utils import (
+from youtube_dlc.utils import (
     DownloadError,
     ExtractorError,
     format_bytes,
     UnavailableVideoError,
 )
-from youtube_dl.extractor import get_info_extractor
+from youtube_dlc.extractor import get_info_extractor
 
 RETRIES = 3
 
 
-class YoutubeDL(youtube_dl.YoutubeDL):
+class YoutubeDL(youtube_dlc.YoutubeDL):
     def __init__(self, *args, **kwargs):
         self.to_stderr = self.to_screen
         self.processed_info_dicts = []
@@ -92,7 +92,7 @@ def setUp(self):
 def generator(test_case, tname):
 
     def test_template(self):
-        ie = youtube_dl.extractor.get_info_extractor(test_case['name'])()
+        ie = youtube_dlc.extractor.get_info_extractor(test_case['name'])()
         other_ies = [get_info_extractor(ie_key)() for ie_key in test_case.get('add_ie', [])]
         is_playlist = any(k.startswith('playlist') for k in test_case)
         test_cases = test_case.get(
index 7504722810b4e706f6b1143c7a36208ee0478749..c8e28bd3a3c51136077a1aa8adc11ec43c73b309 100644 (file)
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 from test.helper import http_server_port, try_rm
-from youtube_dl import YoutubeDL
-from youtube_dl.compat import compat_http_server
-from youtube_dl.downloader.http import HttpFD
-from youtube_dl.utils import encodeFilename
+from youtube_dlc import YoutubeDL
+from youtube_dlc.compat import compat_http_server
+from youtube_dlc.downloader.http import HttpFD
+from youtube_dlc.utils import encodeFilename
 import threading
 
 TEST_DIR = os.path.dirname(os.path.abspath(__file__))
index 11661bb68148f4eb229b50c37f67dc744491c7df..b18e63d73f64e0c39066a39fe3c564c050389950 100644 (file)
@@ -10,7 +10,7 @@
 import subprocess
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.utils import encodeArgument
+from youtube_dlc.utils import encodeArgument
 
 rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 
 
 class TestExecution(unittest.TestCase):
     def test_import(self):
-        subprocess.check_call([sys.executable, '-c', 'import youtube_dl'], cwd=rootDir)
+        subprocess.check_call([sys.executable, '-c', 'import youtube_dlc'], cwd=rootDir)
 
     def test_module_exec(self):
         if sys.version_info >= (2, 7):  # Python 2.6 doesn't support package execution
-            subprocess.check_call([sys.executable, '-m', 'youtube_dl', '--version'], cwd=rootDir, stdout=_DEV_NULL)
+            subprocess.check_call([sys.executable, '-m', 'youtube_dlc', '--version'], cwd=rootDir, stdout=_DEV_NULL)
 
     def test_main_exec(self):
-        subprocess.check_call([sys.executable, 'youtube_dl/__main__.py', '--version'], cwd=rootDir, stdout=_DEV_NULL)
+        subprocess.check_call([sys.executable, 'youtube_dlc/__main__.py', '--version'], cwd=rootDir, stdout=_DEV_NULL)
 
     def test_cmdline_umlauts(self):
         p = subprocess.Popen(
-            [sys.executable, 'youtube_dl/__main__.py', encodeArgument('ä'), '--version'],
+            [sys.executable, 'youtube_dlc/__main__.py', encodeArgument('ä'), '--version'],
             cwd=rootDir, stdout=_DEV_NULL, stderr=subprocess.PIPE)
         _, stderr = p.communicate()
         self.assertFalse(stderr)
index 3ee0a5dda8df4446f915391e031f6d13da486150..55c3c6183d7671cbe619dbb9a641b33a97b4a4aa 100644 (file)
@@ -9,8 +9,8 @@
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 from test.helper import http_server_port
-from youtube_dl import YoutubeDL
-from youtube_dl.compat import compat_http_server, compat_urllib_request
+from youtube_dlc import YoutubeDL
+from youtube_dlc.compat import compat_http_server, compat_urllib_request
 import ssl
 import threading
 
index 789059dbea38026362caea2be08f9d36796a7b1d..303609baa43085a08fe282cab8e5bba6e3b5ee11 100644 (file)
@@ -9,7 +9,7 @@
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 from test.helper import FakeYDL
-from youtube_dl.extractor import IqiyiIE
+from youtube_dlc.extractor import IqiyiIE
 
 
 class IqiyiIEWithCredentials(IqiyiIE):
index c24b8ca742acc308ca9c455378564bbac053765d..97fc8d5aa88626f569126dbdba2a21828743cfdc 100644 (file)
@@ -8,7 +8,7 @@
 import unittest
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.jsinterp import JSInterpreter
+from youtube_dlc.jsinterp import JSInterpreter
 
 
 class TestJSInterpreter(unittest.TestCase):
index 7cf3a6a2e672e6300f26dcb8060bebca869f0310..566ba37a643b94b1156a38e15936748c9b2320b8 100644 (file)
@@ -7,7 +7,7 @@
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 
-from youtube_dl.extractor import (
+from youtube_dlc.extractor import (
     gen_extractors,
 )
 
index 3a25a6ba37ca2c7b409de640acb8fbf74dc03f0b..dce2533736525f5976469b53ac27b9a98ef38f5f 100644 (file)
@@ -8,7 +8,7 @@
 import unittest
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.options import _hide_login_info
+from youtube_dlc.options import _hide_login_info
 
 
 class TestOptions(unittest.TestCase):
index 4209d1d9a0cefa96fc5ea9d26229f6ac44116996..6f538a3da0f823361f86e84f502e58f25540594e 100644 (file)
@@ -8,7 +8,7 @@
 import unittest
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
-from youtube_dl.postprocessor import MetadataFromTitlePP
+from youtube_dlc.postprocessor import MetadataFromTitlePP
 
 
 class TestMetadataFromTitle(unittest.TestCase):
index 1e68eb0daea04a466f07da4e790a1d25c88b5615..be52e2343e0fe28dd369f0cd4f35da0e4128f20b 100644 (file)
@@ -15,7 +15,7 @@
     FakeYDL,
     get_params,
 )
-from youtube_dl.compat import (
+from youtube_dlc.compat import (
     compat_str,
     compat_urllib_request,
 )
index 17aaaf20d9a002336af43d1afa2f7d49a186ac9a..3ca03fb6fb217c7af862b4556f4c57a95c5e9191 100644 (file)
@@ -10,7 +10,7 @@
 from test.helper import FakeYDL, md5
 
 
-from youtube_dl.extractor import (
+from youtube_dlc.extractor import (
     YoutubeIE,
     DailymotionIE,
     TEDIE,
index 9f18055e629d3c21826ad8159bdf0ae55409bca2..1a8b353e8d29df62dc53afa8f7d6181d30d023d8 100644 (file)
@@ -14,7 +14,7 @@
 import re
 import subprocess
 
-from youtube_dl.swfinterp import SWFInterpreter
+from youtube_dlc.swfinterp import SWFInterpreter
 
 
 TEST_DIR = os.path.join(
index d9c71511db795a24d72b846ea40be574a7f4e549..1b144c43c42076062d949dcb9a55aa9ab4816524 100644 (file)
@@ -10,7 +10,7 @@
 
 
 import json
-from youtube_dl.update import rsa_verify
+from youtube_dlc.update import rsa_verify
 
 
 class TestUpdate(unittest.TestCase):
index 0896f41506aa6d6cdb45b1c601203d6e717946d6..663a34e071909ad16d998d2239d4b6987bca53bc 100644 (file)
@@ -15,7 +15,7 @@
 import json
 import xml.etree.ElementTree
 
-from youtube_dl.utils import (
+from youtube_dlc.utils import (
     age_restricted,
     args_to_str,
     encode_base_n,
     cli_bool_option,
     parse_codecs,
 )
-from youtube_dl.compat import (
+from youtube_dlc.compat import (
     compat_chr,
     compat_etree_fromstring,
     compat_getenv,
@@ -240,12 +240,12 @@ def test_expand_path(self):
         def env(var):
             return '%{0}%'.format(var) if sys.platform == 'win32' else '${0}'.format(var)
 
-        compat_setenv('YOUTUBE_DL_EXPATH_PATH', 'expanded')
-        self.assertEqual(expand_path(env('YOUTUBE_DL_EXPATH_PATH')), 'expanded')
+        compat_setenv('youtube_dlc_EXPATH_PATH', 'expanded')
+        self.assertEqual(expand_path(env('youtube_dlc_EXPATH_PATH')), 'expanded')
         self.assertEqual(expand_path(env('HOME')), compat_getenv('HOME'))
         self.assertEqual(expand_path('~'), compat_getenv('HOME'))
         self.assertEqual(
-            expand_path('~/%s' % env('YOUTUBE_DL_EXPATH_PATH')),
+            expand_path('~/%s' % env('youtube_dlc_EXPATH_PATH')),
             '%s/expanded' % compat_getenv('HOME'))
 
     def test_prepend_extension(self):
@@ -1388,8 +1388,8 @@ def test_caesar(self):
         self.assertEqual(caesar('ebg', 'acegik', -2), 'abc')
 
     def test_rot47(self):
-        self.assertEqual(rot47('youtube-dl'), r'J@FEF36\5=')
-        self.assertEqual(rot47('YOUTUBE-DL'), r'*~&%&qt\s{')
+        self.assertEqual(rot47('youtube-dlc'), r'J@FEF36\5=')
+        self.assertEqual(rot47('youtube-dlc'), r'*~&%&qt\s{')
 
     def test_urshift(self):
         self.assertEqual(urshift(3, 1), 1)
index c1465fe8c51d8bf3789606fbf6c61da0deabfa90..462f25e03f648d79df48f35fc4a7ddfdbc1f532d 100644 (file)
@@ -17,7 +17,7 @@ class TestVerboseOutput(unittest.TestCase):
     def test_private_info_arg(self):
         outp = subprocess.Popen(
             [
-                sys.executable, 'youtube_dl/__main__.py', '-v',
+                sys.executable, 'youtube_dlc/__main__.py', '-v',
                 '--username', 'johnsmith@gmail.com',
                 '--password', 'secret',
             ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
@@ -30,7 +30,7 @@ def test_private_info_arg(self):
     def test_private_info_shortarg(self):
         outp = subprocess.Popen(
             [
-                sys.executable, 'youtube_dl/__main__.py', '-v',
+                sys.executable, 'youtube_dlc/__main__.py', '-v',
                 '-u', 'johnsmith@gmail.com',
                 '-p', 'secret',
             ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
@@ -43,7 +43,7 @@ def test_private_info_shortarg(self):
     def test_private_info_eq(self):
         outp = subprocess.Popen(
             [
-                sys.executable, 'youtube_dl/__main__.py', '-v',
+                sys.executable, 'youtube_dlc/__main__.py', '-v',
                 '--username=johnsmith@gmail.com',
                 '--password=secret',
             ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
@@ -56,7 +56,7 @@ def test_private_info_eq(self):
     def test_private_info_shortarg_eq(self):
         outp = subprocess.Popen(
             [
-                sys.executable, 'youtube_dl/__main__.py', '-v',
+                sys.executable, 'youtube_dlc/__main__.py', '-v',
                 '-u=johnsmith@gmail.com',
                 '-p=secret',
             ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
index 41abdfe3b99eaabf562ebabc222fc50fead77631..d98c96c15ffb00e3d495e6d5d78ae50701921d64 100644 (file)
 
 import xml.etree.ElementTree
 
-import youtube_dl.YoutubeDL
-import youtube_dl.extractor
+import youtube_dlc.YoutubeDL
+import youtube_dlc.extractor
 
 
-class YoutubeDL(youtube_dl.YoutubeDL):
+class YoutubeDL(youtube_dlc.YoutubeDL):
     def __init__(self, *args, **kwargs):
         super(YoutubeDL, self).__init__(*args, **kwargs)
         self.to_stderr = self.to_screen
@@ -45,7 +45,7 @@ def setUp(self):
 
     def test_info_json(self):
         expected = list(EXPECTED_ANNOTATIONS)  # Two annotations could have the same text.
-        ie = youtube_dl.extractor.YoutubeIE()
+        ie = youtube_dlc.extractor.YoutubeIE()
         ydl = YoutubeDL(params)
         ydl.add_info_extractor(ie)
         ydl.download([TEST_ID])
index e69c57377e617e2864a80e2e736bb72c87c4122e..4529d2e84d0e5f5f427f2078f0de782002c611b6 100644 (file)
@@ -9,7 +9,7 @@
 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 from test.helper import expect_value
-from youtube_dl.extractor import YoutubeIE
+from youtube_dlc.extractor import YoutubeIE
 
 
 class TestYoutubeChapters(unittest.TestCase):
index c4f0abbeaaacbe3b469320c13a205e8f738c443b..a693963ef9076e0a5bd5634b668e3fc7852acdd0 100644 (file)
@@ -10,7 +10,7 @@
 from test.helper import FakeYDL
 
 
-from youtube_dl.extractor import (
+from youtube_dlc.extractor import (
     YoutubePlaylistIE,
     YoutubeIE,
 )
index 69df30edaa75efbeb51a1cad650c8e29b2596b66..a54b36198fd898de18fd01981317d6462ae8cc58 100644 (file)
@@ -13,8 +13,8 @@
 import string
 
 from test.helper import FakeYDL
-from youtube_dl.extractor import YoutubeIE
-from youtube_dl.compat import compat_str, compat_urlretrieve
+from youtube_dlc.extractor import YoutubeIE
+from youtube_dlc.compat import compat_str, compat_urlretrieve
 
 _TESTS = [
     (
diff --git a/tox.ini b/tox.ini
index 9c4e4a3d1eab285d8def7fce06e7d5ceb108952e..842091d65c1adc2cfdc26b46fc4f6bf6c4ba1445 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -10,5 +10,5 @@ defaultargs = test --exclude test_download.py --exclude test_age_restriction.py
     --exclude test_subtitles.py --exclude test_write_annotations.py
     --exclude test_youtube_lists.py --exclude test_iqiyi_sdk_interpreter.py
     --exclude test_socks.py
-commands = nosetests --verbose {posargs:{[testenv]defaultargs}}  # --with-coverage --cover-package=youtube_dl --cover-html
+commands = nosetests --verbose {posargs:{[testenv]defaultargs}}  # --with-coverage --cover-package=youtube_dlc --cover-html
                                                # test.test_download:TestDownload.test_NowVideo
index 17ab1341af2244ece37551e8642936fd10891ac7..27537ee1187ffa2f40c3f61d873cd4d5368ba6d2 100644 (file)
@@ -1,4 +1,4 @@
-# This allows the youtube-dl command to be installed in ZSH using antigen.
+# This allows the youtube-dlc command to be installed in ZSH using antigen.
 # Antigen is a bundle manager. It allows you to enhance the functionality of
 # your zsh session by installing bundles and themes easily.
 
@@ -6,11 +6,11 @@
 # http://antigen.sharats.me/
 # https://github.com/zsh-users/antigen
 
-# Install youtube-dl:
+# Install youtube-dlc:
 # antigen bundle ytdl-org/youtube-dl
 # Bundles installed by antigen are available for use immediately.
 
-# Update youtube-dl (and all other antigen bundles):
+# Update youtube-dlc (and all other antigen bundles):
 # antigen update
 
 # The antigen command will download the git repository to a folder and then
@@ -18,7 +18,7 @@
 # code is documented here:
 # https://github.com/zsh-users/antigen#notes-on-writing-plugins
 
-# This specific script just aliases youtube-dl to the python script that this
+# This specific script just aliases youtube-dlc to the python script that this
 # library provides. This requires updating the PYTHONPATH to ensure that the
 # full set of code can be located.
-alias youtube-dl="PYTHONPATH=$(dirname $0) $(dirname $0)/bin/youtube-dl"
+alias youtube-dlc="PYTHONPATH=$(dirname $0) $(dirname $0)/bin/youtube-dlc"
old mode 100755 (executable)
new mode 100644 (file)
similarity index 99%
rename from youtube_dl/YoutubeDL.py
rename to youtube_dlc/YoutubeDL.py
index 0dc869d..f79d31d
@@ -228,7 +228,7 @@ class YoutubeDL(object):
                        playlist items.
     postprocessors:    A list of dictionaries, each with an entry
                        * key:  The name of the postprocessor. See
-                               youtube_dl/postprocessor/__init__.py for a list.
+                               youtube_dlc/postprocessor/__init__.py for a list.
                        as well as any further keyword arguments for the
                        postprocessor.
     progress_hooks:    A list of functions that get called on download
@@ -264,7 +264,7 @@ class YoutubeDL(object):
                                            about it, warn otherwise (default)
     source_address:    Client-side IP address to bind to.
     call_home:         Boolean, true iff we are allowed to contact the
-                       youtube-dl servers for debugging.
+                       youtube-dlc servers for debugging.
     sleep_interval:    Number of seconds to sleep before each download when
                        used alone or a lower bound of a range for randomized
                        sleep before each download (minimum possible number
@@ -301,7 +301,7 @@ class YoutubeDL(object):
                        use downloader suggested by extractor if None.
 
     The following parameters are not used by YoutubeDL itself, they are used by
-    the downloader (see youtube_dl/downloader/common.py):
+    the downloader (see youtube_dlc/downloader/common.py):
     nopart, updatetime, buffersize, ratelimit, min_filesize, max_filesize, test,
     noresizebuffer, retries, continuedl, noprogress, consoletitle,
     xattr_set_filesize, external_downloader_args, hls_use_mpegts,
@@ -441,7 +441,7 @@ def warn_if_short_id(self, argv):
             if re.match(r'^-[0-9A-Za-z_-]{10}$', a)]
         if idxs:
             correct_argv = (
-                ['youtube-dl']
+                ['youtube-dlc']
                 + [a for i, a in enumerate(argv) if i not in idxs]
                 + ['--'] + [argv[i] for i in idxs]
             )
@@ -2254,7 +2254,7 @@ def print_debug_header(self):
                 self.get_encoding()))
         write_string(encoding_str, encoding=None)
 
-        self._write_string('[debug] youtube-dl version ' + __version__ + '\n')
+        self._write_string('[debug] youtube-dlc version ' + __version__ + '\n')
         if _LAZY_LOADER:
             self._write_string('[debug] Lazy loading extractors enabled' + '\n')
         try:
@@ -2352,7 +2352,7 @@ def _setup_opener(self):
         file_handler = compat_urllib_request.FileHandler()
 
         def file_open(*args, **kwargs):
-            raise compat_urllib_error.URLError('file:// scheme is explicitly disabled in youtube-dl for security reasons')
+            raise compat_urllib_error.URLError('file:// scheme is explicitly disabled in youtube-dlc for security reasons')
         file_handler.file_open = file_open
 
         opener = compat_urllib_request.build_opener(
similarity index 99%
rename from youtube_dl/__init__.py
rename to youtube_dlc/__init__.py
index 9a659fc654d2a3af5d63e47363f8cdfdcdc0c333..a663417dab292caf7c6e4a72599a6419391a108c 100644 (file)
@@ -53,7 +53,7 @@ def _real_main(argv=None):
 
     workaround_optparse_bug9161()
 
-    setproctitle('youtube-dl')
+    setproctitle('youtube-dlc')
 
     parser, opts, args = parseOpts(argv)
 
@@ -455,7 +455,7 @@ def parse_retries(retries):
             ydl.warn_if_short_id(sys.argv[1:] if argv is None else argv)
             parser.error(
                 'You must provide at least one URL.\n'
-                'Type youtube-dl --help to see a list of all options.')
+                'Type youtube-dlc --help to see a list of all options.')
 
         try:
             if opts.load_info_filename is not None:
old mode 100755 (executable)
new mode 100644 (file)
similarity index 73%
rename from youtube_dl/__main__.py
rename to youtube_dlc/__main__.py
index 138f5fb..0e76016
@@ -2,8 +2,8 @@
 from __future__ import unicode_literals
 
 # Execute with
-# $ python youtube_dl/__main__.py (2.6+)
-# $ python -m youtube_dl          (2.7+)
+# $ python youtube_dlc/__main__.py (2.6+)
+# $ python -m youtube_dlc          (2.7+)
 
 import sys
 
@@ -13,7 +13,7 @@
     path = os.path.realpath(os.path.abspath(__file__))
     sys.path.insert(0, os.path.dirname(os.path.dirname(path)))
 
-import youtube_dl
+import youtube_dlc
 
 if __name__ == '__main__':
-    youtube_dl.main()
+    youtube_dlc.main()
similarity index 100%
rename from youtube_dl/aes.py
rename to youtube_dlc/aes.py
similarity index 98%
rename from youtube_dl/cache.py
rename to youtube_dlc/cache.py
index 7bdade1bdb49a7406457688400830a91a98ef186..ada6aa1f28ba39f4e6f22df92e4327d81d7cd0f7 100644 (file)
@@ -23,7 +23,7 @@ def _get_root_dir(self):
         res = self._ydl.params.get('cachedir')
         if res is None:
             cache_root = compat_getenv('XDG_CACHE_HOME', '~/.cache')
-            res = os.path.join(cache_root, 'youtube-dl')
+            res = os.path.join(cache_root, 'youtube-dlc')
         return expand_path(res)
 
     def _get_cache_fn(self, section, key, dtype):
similarity index 99%
rename from youtube_dl/compat.py
rename to youtube_dlc/compat.py
index 0ee9bc76020377dc811c0d06736eba8082a53dbd..1cf7efed615af3a4ec5bcdfe084ff0bf197b8b3c 100644 (file)
@@ -2973,7 +2973,7 @@ def compat_b64decode(s, *args, **kwargs):
 
 if platform.python_implementation() == 'PyPy' and sys.pypy_version_info < (5, 4, 0):
     # PyPy2 prior to version 5.4.0 expects byte strings as Windows function
-    # names, see the original PyPy issue [1] and the youtube-dl one [2].
+    # names, see the original PyPy issue [1] and the youtube-dlc one [2].
     # 1. https://bitbucket.org/pypy/pypy/issues/2360/windows-ctypescdll-typeerror-function-name
     # 2. https://github.com/ytdl-org/youtube-dl/pull/4392
     def compat_ctypes_WINFUNCTYPE(*args, **kwargs):
similarity index 99%
rename from youtube_dl/downloader/common.py
rename to youtube_dlc/downloader/common.py
index 1cdba89cd9b093c1cc45071d34e307028aac02ea..31c2864584b917d70cbbc903823a100d21a114dd 100644 (file)
@@ -243,7 +243,7 @@ def _report_progress_status(self, msg, is_last_line=False):
             else:
                 clear_line = ('\r\x1b[K' if sys.stderr.isatty() else '\r')
             self.to_screen(clear_line + fullmsg, skip_eol=not is_last_line)
-        self.to_console_title('youtube-dl ' + msg)
+        self.to_console_title('youtube-dlc ' + msg)
 
     def report_progress(self, s):
         if s['status'] == 'finished':
similarity index 98%
rename from youtube_dl/downloader/fragment.py
rename to youtube_dlc/downloader/fragment.py
index 02f35459e82ddb0e39dad3b7790f2db7a90d85fa..9339b3a62c4bd4d360bf719f0e1e3e16ebb0f840 100644 (file)
@@ -32,9 +32,9 @@ class FragmentFD(FileDownloader):
     keep_fragments:     Keep downloaded fragments on disk after downloading is
                         finished
 
-    For each incomplete fragment download youtube-dl keeps on disk a special
+    For each incomplete fragment download youtube-dlc keeps on disk a special
     bookkeeping file with download state and metadata (in future such files will
-    be used for any incomplete download handled by youtube-dl). This file is
+    be used for any incomplete download handled by youtube-dlc). This file is
     used to properly handle resuming, check download file consistency and detect
     potential errors. The file has a .ytdl extension and represents a standard
     JSON file of the following format:
similarity index 99%
rename from youtube_dl/extractor/appletrailers.py
rename to youtube_dlc/extractor/appletrailers.py
index a9ef733e011237338d904f956c4324cc6dd7a72b..b5ed2b88b3e227216db12da1936b9d4c3466efa8 100644 (file)
@@ -199,7 +199,7 @@ def _clean_json(m):
                 'upload_date': upload_date,
                 'uploader_id': uploader_id,
                 'http_headers': {
-                    'User-Agent': 'QuickTime compatible (youtube-dl)',
+                    'User-Agent': 'QuickTime compatible (youtube-dlc)',
                 },
             })
 
similarity index 98%
rename from youtube_dl/extractor/bandcamp.py
rename to youtube_dlc/extractor/bandcamp.py
index f14b407dc82cf8f945f581ab059bd6218866eb57..b8a57e6a50b26ba61c1137b4c8c72d5fc603a8d6 100644 (file)
 class BandcampIE(InfoExtractor):
     _VALID_URL = r'https?://[^/]+\.bandcamp\.com/track/(?P<title>[^/?#&]+)'
     _TESTS = [{
-        'url': 'http://youtube-dl.bandcamp.com/track/youtube-dl-test-song',
+        'url': 'http://youtube-dlc.bandcamp.com/track/youtube-dlc-test-song',
         'md5': 'c557841d5e50261777a6585648adf439',
         'info_dict': {
             'id': '1812978515',
             'ext': 'mp3',
-            'title': "youtube-dl  \"'/\\\u00e4\u21ad - youtube-dl test song \"'/\\\u00e4\u21ad",
+            'title': "youtube-dlc  \"'/\\\u00e4\u21ad - youtube-dlc test song \"'/\\\u00e4\u21ad",
             'duration': 9.8485,
         },
         '_skip': 'There is a limit of 200 free downloads / month for the test song'
similarity index 99%
rename from youtube_dl/extractor/bilibili.py
rename to youtube_dlc/extractor/bilibili.py
index 4dc597e160bcea4f0821719dc82e2908f20d1972..d39ee8ffeca763c882747d15e82d4813503ba26c 100644 (file)
@@ -139,7 +139,7 @@ def _real_extract(self, url):
                 webpage, 'player parameters'))['cid'][0]
         else:
             if 'no_bangumi_tip' not in smuggled_data:
-                self.to_screen('Downloading episode %s. To download all videos in anime %s, re-run youtube-dl with %s' % (
+                self.to_screen('Downloading episode %s. To download all videos in anime %s, re-run youtube-dlc with %s' % (
                     video_id, anime_id, compat_urlparse.urljoin(url, '//bangumi.bilibili.com/anime/%s' % anime_id)))
             headers = {
                 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
similarity index 99%
rename from youtube_dl/extractor/common.py
rename to youtube_dlc/extractor/common.py
index a61753b17cd35835474c347c2b438e5f32949d73..c1ea5d84603f9e821e789648bac743a7c6d2c9b6 100644 (file)
@@ -269,7 +269,7 @@ class InfoExtractor(object):
                                      Set to "root" to indicate that this is a
                                      comment to the original video.
     age_limit:      Age restriction for the video, as an integer (years)
-    webpage_url:    The URL to the video webpage, if given to youtube-dl it
+    webpage_url:    The URL to the video webpage, if given to youtube-dlc it
                     should allow to get the same result again. (It will be set
                     by YoutubeDL if it's missing)
     categories:     A list of categories that the video falls in, for example
@@ -1500,7 +1500,7 @@ def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None,
         if not isinstance(manifest, compat_etree_Element) and not fatal:
             return []
 
-        # currently youtube-dl cannot decode the playerVerificationChallenge as Akamai uses Adobe Alchemy
+        # currently youtube-dlc cannot decode the playerVerificationChallenge as Akamai uses Adobe Alchemy
         akamai_pv = manifest.find('{http://ns.adobe.com/f4m/1.0}pv-2.0')
         if akamai_pv is not None and ';' in akamai_pv.text:
             playerVerificationChallenge = akamai_pv.text.split(';')[0]
similarity index 92%
rename from youtube_dl/extractor/commonmistakes.py
rename to youtube_dlc/extractor/commonmistakes.py
index 7e12499b1e83ab39026fb0448673dfdacddaf968..933b89eb3e5e649acb98764b7dcb3aaa3c78db16 100644 (file)
@@ -22,12 +22,12 @@ class CommonMistakesIE(InfoExtractor):
 
     def _real_extract(self, url):
         msg = (
-            'You\'ve asked youtube-dl to download the URL "%s". '
+            'You\'ve asked youtube-dlc to download the URL "%s". '
             'That doesn\'t make any sense. '
             'Simply remove the parameter in your command or configuration.'
         ) % url
         if not self._downloader.params.get('verbose'):
-            msg += ' Add -v to the command line to see what arguments and configuration youtube-dl got.'
+            msg += ' Add -v to the command line to see what arguments and configuration youtube-dlc got.'
         raise ExtractorError(msg, expected=True)
 
 
similarity index 90%
rename from youtube_dl/extractor/dropbox.py
rename to youtube_dlc/extractor/dropbox.py
index 14b6c00b0bd1c4d3a306b5513477e2bb6c4cd52d..9dc6614c582811a34198302929313b853045f707 100644 (file)
@@ -13,11 +13,11 @@ class DropboxIE(InfoExtractor):
     _VALID_URL = r'https?://(?:www\.)?dropbox[.]com/sh?/(?P<id>[a-zA-Z0-9]{15})/.*'
     _TESTS = [
         {
-            'url': 'https://www.dropbox.com/s/nelirfsxnmcfbfh/youtube-dl%20test%20video%20%27%C3%A4%22BaW_jenozKc.mp4?dl=0',
+            'url': 'https://www.dropbox.com/s/nelirfsxnmcfbfh/youtube-dlc%20test%20video%20%27%C3%A4%22BaW_jenozKc.mp4?dl=0',
             'info_dict': {
                 'id': 'nelirfsxnmcfbfh',
                 'ext': 'mp4',
-                'title': 'youtube-dl test video \'ä"BaW_jenozKc'
+                'title': 'youtube-dlc test video \'ä"BaW_jenozKc'
             }
         }, {
             'url': 'https://www.dropbox.com/sh/662glsejgzoj9sr/AAByil3FGH9KFNZ13e08eSa1a/Pregame%20Ceremony%20Program%20PA%2020140518.m4v',
similarity index 85%
rename from youtube_dl/extractor/eighttracks.py
rename to youtube_dlc/extractor/eighttracks.py
index 9a44f89f3fe801047ef283e9b1fa410c8b88cb37..5ededd31da475ac997dc257f466bb3a0eff2ea2c 100644 (file)
@@ -18,12 +18,12 @@ class EightTracksIE(InfoExtractor):
     _VALID_URL = r'https?://8tracks\.com/(?P<user>[^/]+)/(?P<id>[^/#]+)(?:#.*)?$'
     _TEST = {
         'name': 'EightTracks',
-        'url': 'http://8tracks.com/ytdl/youtube-dl-test-tracks-a',
+        'url': 'http://8tracks.com/ytdl/youtube-dlc-test-tracks-a',
         'info_dict': {
             'id': '1336550',
-            'display_id': 'youtube-dl-test-tracks-a',
+            'display_id': 'youtube-dlc-test-tracks-a',
             'description': "test chars:  \"'/\\ä↭",
-            'title': "youtube-dl test tracks \"'/\\ä↭<>",
+            'title': "youtube-dlc test tracks \"'/\\ä↭<>",
         },
         'playlist': [
             {
@@ -31,7 +31,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885610',
                     'ext': 'm4a',
-                    'title': "youtue-dl project<>\"' - youtube-dl test track 1 \"'/\\\u00e4\u21ad",
+                    'title': "youtue-dl project<>\"' - youtube-dlc test track 1 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             },
@@ -40,7 +40,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885608',
                     'ext': 'm4a',
-                    'title': "youtube-dl project - youtube-dl test track 2 \"'/\\\u00e4\u21ad",
+                    'title': "youtube-dlc project - youtube-dlc test track 2 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             },
@@ -49,7 +49,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885679',
                     'ext': 'm4a',
-                    'title': "youtube-dl project as well - youtube-dl test track 3 \"'/\\\u00e4\u21ad",
+                    'title': "youtube-dlc project as well - youtube-dlc test track 3 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             },
@@ -58,7 +58,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885680',
                     'ext': 'm4a',
-                    'title': "youtube-dl project as well - youtube-dl test track 4 \"'/\\\u00e4\u21ad",
+                    'title': "youtube-dlc project as well - youtube-dlc test track 4 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             },
@@ -67,7 +67,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885682',
                     'ext': 'm4a',
-                    'title': "PH - youtube-dl test track 5 \"'/\\\u00e4\u21ad",
+                    'title': "PH - youtube-dlc test track 5 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             },
@@ -76,7 +76,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885683',
                     'ext': 'm4a',
-                    'title': "PH - youtube-dl test track 6 \"'/\\\u00e4\u21ad",
+                    'title': "PH - youtube-dlc test track 6 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             },
@@ -85,7 +85,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885684',
                     'ext': 'm4a',
-                    'title': "phihag - youtube-dl test track 7 \"'/\\\u00e4\u21ad",
+                    'title': "phihag - youtube-dlc test track 7 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             },
@@ -94,7 +94,7 @@ class EightTracksIE(InfoExtractor):
                 'info_dict': {
                     'id': '11885685',
                     'ext': 'm4a',
-                    'title': "phihag - youtube-dl test track 8 \"'/\\\u00e4\u21ad",
+                    'title': "phihag - youtube-dlc test track 8 \"'/\\\u00e4\u21ad",
                     'uploader_id': 'ytdl'
                 }
             }
similarity index 99%
rename from youtube_dl/extractor/generic.py
rename to youtube_dlc/extractor/generic.py
index 355067a509fc197c10a2085bad058d4459729bc9..aba06b328e19fad48faee2d83eb42494af672f94 100644 (file)
@@ -1947,7 +1947,7 @@ class GenericIE(InfoExtractor):
         },
         {
             # vshare embed
-            'url': 'https://youtube-dl-demo.neocities.org/vshare.html',
+            'url': 'https://youtube-dlc-demo.neocities.org/vshare.html',
             'md5': '17b39f55b5497ae8b59f5fbce8e35886',
             'info_dict': {
                 'id': '0f64ce6',
@@ -2263,7 +2263,7 @@ def _real_extract(self, url):
                     if default_search == 'auto_warning':
                         if re.match(r'^(?:url|URL)$', url):
                             raise ExtractorError(
-                                'Invalid URL:  %r . Call youtube-dl like this:  youtube-dl -v "https://www.youtube.com/watch?v=BaW_jenozKc"  ' % url,
+                                'Invalid URL:  %r . Call youtube-dlc like this:  youtube-dlc -v "https://www.youtube.com/watch?v=BaW_jenozKc"  ' % url,
                                 expected=True)
                         else:
                             self._downloader.report_warning(
@@ -2273,7 +2273,7 @@ def _real_extract(self, url):
             if default_search in ('error', 'fixup_error'):
                 raise ExtractorError(
                     '%r is not a valid URL. '
-                    'Set --default-search "ytsearch" (or run  youtube-dl "ytsearch:%s" ) to search YouTube'
+                    'Set --default-search "ytsearch" (or run  youtube-dlc "ytsearch:%s" ) to search YouTube'
                     % (url, url), expected=True)
             else:
                 if ':' not in default_search:
@@ -2349,7 +2349,7 @@ def _real_extract(self, url):
             request = sanitized_Request(url)
             # Some webservers may serve compressed content of rather big size (e.g. gzipped flac)
             # making it impossible to download only chunk of the file (yet we need only 512kB to
-            # test whether it's HTML or not). According to youtube-dl default Accept-Encoding
+            # test whether it's HTML or not). According to youtube-dlc default Accept-Encoding
             # that will always result in downloading the whole file that is not desirable.
             # Therefore for extraction pass we have to override Accept-Encoding to any in order
             # to accept raw bytes and being able to download only a chunk.
@@ -3372,7 +3372,7 @@ def filter_video(urls):
 
         if not found:
             # twitter:player is a https URL to iframe player that may or may not
-            # be supported by youtube-dl thus this is checked the very last (see
+            # be supported by youtube-dlc thus this is checked the very last (see
             # https://dev.twitter.com/cards/types/player#On_twitter.com_via_desktop_browser)
             embed_url = self._html_search_meta('twitter:player', webpage, default=None)
             if embed_url and embed_url != url:
similarity index 98%
rename from youtube_dl/extractor/hrfensehen.py
rename to youtube_dlc/extractor/hrfensehen.py
index 2beadef2cbd5815118deb1b4a459a98c60cc873b..805345e6957e829294ff02f960faaf9457663c56 100644 (file)
@@ -4,7 +4,7 @@
 import json
 import re
 
-from youtube_dl.utils import int_or_none, unified_timestamp, unescapeHTML
+from youtube_dlc.utils import int_or_none, unified_timestamp, unescapeHTML
 from .common import InfoExtractor
 
 
similarity index 97%
rename from youtube_dl/extractor/imgur.py
rename to youtube_dlc/extractor/imgur.py
index a5ba03efae57e64cb0d05caaff8e9dd700aa6a0e..4dc7b0b5c0ede5df3e433890655377c22602eafa 100644 (file)
@@ -60,7 +60,7 @@ def _real_extract(self, url):
                 'width': width,
                 'height': height,
                 'http_headers': {
-                    'User-Agent': 'youtube-dl (like wget)',
+                    'User-Agent': 'youtube-dlc (like wget)',
                 },
             })
 
@@ -82,7 +82,7 @@ def _real_extract(self, url):
                 'url': self._proto_relative_url(gifd['gifUrl']),
                 'filesize': gifd.get('size'),
                 'http_headers': {
-                    'User-Agent': 'youtube-dl (like wget)',
+                    'User-Agent': 'youtube-dlc (like wget)',
                 },
             })
 
similarity index 99%
rename from youtube_dl/extractor/ivi.py
rename to youtube_dlc/extractor/ivi.py
index b5a740a01e1d360ca667869edef88f85e3559842..b9cb5a8e6bba0e7d6d4de35b2e69d98d56fda67a 100644 (file)
@@ -142,7 +142,7 @@ def _real_extract(self, url):
                     continue
                 elif bundled:
                     raise ExtractorError(
-                        'This feature does not work from bundled exe. Run youtube-dl from sources.',
+                        'This feature does not work from bundled exe. Run youtube-dlc from sources.',
                         expected=True)
                 elif not pycryptodomex_found:
                     raise ExtractorError(
similarity index 97%
rename from youtube_dl/extractor/joj.py
rename to youtube_dlc/extractor/joj.py
index 62b28e9809856abaca23c4690c4670cacc96965a..63761818350b764742a3f8057f11d0e8f350fb6e 100644 (file)
-# coding: utf-8\r
-from __future__ import unicode_literals\r
-\r
-import re\r
-\r
-from .common import InfoExtractor\r
-from ..compat import compat_str\r
-from ..utils import (\r
-    int_or_none,\r
-    js_to_json,\r
-    try_get,\r
-)\r
-\r
-\r
-class JojIE(InfoExtractor):\r
-    _VALID_URL = r'''(?x)\r
-                    (?:\r
-                        joj:|\r
-                        https?://media\.joj\.sk/embed/\r
-                    )\r
-                    (?P<id>[^/?#^]+)\r
-                '''\r
-    _TESTS = [{\r
-        'url': 'https://media.joj.sk/embed/a388ec4c-6019-4a4a-9312-b1bee194e932',\r
-        'info_dict': {\r
-            'id': 'a388ec4c-6019-4a4a-9312-b1bee194e932',\r
-            'ext': 'mp4',\r
-            'title': 'NOVÉ BÝVANIE',\r
-            'thumbnail': r're:^https?://.*\.jpg$',\r
-            'duration': 3118,\r
-        }\r
-    }, {\r
-        'url': 'https://media.joj.sk/embed/9i1cxv',\r
-        'only_matching': True,\r
-    }, {\r
-        'url': 'joj:a388ec4c-6019-4a4a-9312-b1bee194e932',\r
-        'only_matching': True,\r
-    }, {\r
-        'url': 'joj:9i1cxv',\r
-        'only_matching': True,\r
-    }]\r
-\r
-    @staticmethod\r
-    def _extract_urls(webpage):\r
-        return [\r
-            mobj.group('url')\r
-            for mobj in re.finditer(\r
-                r'<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//media\.joj\.sk/embed/(?:(?!\1).)+)\1',\r
-                webpage)]\r
-\r
-    def _real_extract(self, url):\r
-        video_id = self._match_id(url)\r
-\r
-        webpage = self._download_webpage(\r
-            'https://media.joj.sk/embed/%s' % video_id, video_id)\r
-\r
-        title = self._search_regex(\r
-            (r'videoTitle\s*:\s*(["\'])(?P<title>(?:(?!\1).)+)\1',\r
-             r'<title>(?P<title>[^<]+)'), webpage, 'title',\r
-            default=None, group='title') or self._og_search_title(webpage)\r
-\r
-        bitrates = self._parse_json(\r
-            self._search_regex(\r
-                r'(?s)(?:src|bitrates)\s*=\s*({.+?});', webpage, 'bitrates',\r
-                default='{}'),\r
-            video_id, transform_source=js_to_json, fatal=False)\r
-\r
-        formats = []\r
-        for format_url in try_get(bitrates, lambda x: x['mp4'], list) or []:\r
-            if isinstance(format_url, compat_str):\r
-                height = self._search_regex(\r
-                    r'(\d+)[pP]\.', format_url, 'height', default=None)\r
-                formats.append({\r
-                    'url': format_url,\r
-                    'format_id': '%sp' % height if height else None,\r
-                    'height': int(height),\r
-                })\r
-        if not formats:\r
-            playlist = self._download_xml(\r
-                'https://media.joj.sk/services/Video.php?clip=%s' % video_id,\r
-                video_id)\r
-            for file_el in playlist.findall('./files/file'):\r
-                path = file_el.get('path')\r
-                if not path:\r
-                    continue\r
-                format_id = file_el.get('id') or file_el.get('label')\r
-                formats.append({\r
-                    'url': 'http://n16.joj.sk/storage/%s' % path.replace(\r
-                        'dat/', '', 1),\r
-                    'format_id': format_id,\r
-                    'height': int_or_none(self._search_regex(\r
-                        r'(\d+)[pP]', format_id or path, 'height',\r
-                        default=None)),\r
-                })\r
-        self._sort_formats(formats)\r
-\r
-        thumbnail = self._og_search_thumbnail(webpage)\r
-\r
-        duration = int_or_none(self._search_regex(\r
-            r'videoDuration\s*:\s*(\d+)', webpage, 'duration', fatal=False))\r
-\r
-        return {\r
-            'id': video_id,\r
-            'title': title,\r
-            'thumbnail': thumbnail,\r
-            'duration': duration,\r
-            'formats': formats,\r
-        }\r
+# coding: utf-8
+from __future__ import unicode_literals
+
+import re
+
+from .common import InfoExtractor
+from ..compat import compat_str
+from ..utils import (
+    int_or_none,
+    js_to_json,
+    try_get,
+)
+
+
+class JojIE(InfoExtractor):
+    _VALID_URL = r'''(?x)
+                    (?:
+                        joj:|
+                        https?://media\.joj\.sk/embed/
+                    )
+                    (?P<id>[^/?#^]+)
+                '''
+    _TESTS = [{
+        'url': 'https://media.joj.sk/embed/a388ec4c-6019-4a4a-9312-b1bee194e932',
+        'info_dict': {
+            'id': 'a388ec4c-6019-4a4a-9312-b1bee194e932',
+            'ext': 'mp4',
+            'title': 'NOVÉ BÝVANIE',
+            'thumbnail': r're:^https?://.*\.jpg$',
+            'duration': 3118,
+        }
+    }, {
+        'url': 'https://media.joj.sk/embed/9i1cxv',
+        'only_matching': True,
+    }, {
+        'url': 'joj:a388ec4c-6019-4a4a-9312-b1bee194e932',
+        'only_matching': True,
+    }, {
+        'url': 'joj:9i1cxv',
+        'only_matching': True,
+    }]
+
+    @staticmethod
+    def _extract_urls(webpage):
+        return [
+            mobj.group('url')
+            for mobj in re.finditer(
+                r'<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//media\.joj\.sk/embed/(?:(?!\1).)+)\1',
+                webpage)]
+
+    def _real_extract(self, url):
+        video_id = self._match_id(url)
+
+        webpage = self._download_webpage(
+            'https://media.joj.sk/embed/%s' % video_id, video_id)
+
+        title = self._search_regex(
+            (r'videoTitle\s*:\s*(["\'])(?P<title>(?:(?!\1).)+)\1',
+             r'<title>(?P<title>[^<]+)'), webpage, 'title',
+            default=None, group='title') or self._og_search_title(webpage)
+
+        bitrates = self._parse_json(
+            self._search_regex(
+                r'(?s)(?:src|bitrates)\s*=\s*({.+?});', webpage, 'bitrates',
+                default='{}'),
+            video_id, transform_source=js_to_json, fatal=False)
+
+        formats = []
+        for format_url in try_get(bitrates, lambda x: x['mp4'], list) or []:
+            if isinstance(format_url, compat_str):
+                height = self._search_regex(
+                    r'(\d+)[pP]\.', format_url, 'height', default=None)
+                formats.append({
+                    'url': format_url,
+                    'format_id': '%sp' % height if height else None,
+                    'height': int(height),
+                })
+        if not formats:
+            playlist = self._download_xml(
+                'https://media.joj.sk/services/Video.php?clip=%s' % video_id,
+                video_id)
+            for file_el in playlist.findall('./files/file'):
+                path = file_el.get('path')
+                if not path:
+                    continue
+                format_id = file_el.get('id') or file_el.get('label')
+                formats.append({
+                    'url': 'http://n16.joj.sk/storage/%s' % path.replace(
+                        'dat/', '', 1),
+                    'format_id': format_id,
+                    'height': int_or_none(self._search_regex(
+                        r'(\d+)[pP]', format_id or path, 'height',
+                        default=None)),
+                })
+        self._sort_formats(formats)
+
+        thumbnail = self._og_search_thumbnail(webpage)
+
+        duration = int_or_none(self._search_regex(
+            r'videoDuration\s*:\s*(\d+)', webpage, 'duration', fatal=False))
+
+        return {
+            'id': video_id,
+            'title': title,
+            'thumbnail': thumbnail,
+            'duration': duration,
+            'formats': formats,
+        }
similarity index 98%
rename from youtube_dl/extractor/nowness.py
rename to youtube_dlc/extractor/nowness.py
index f26dafb8f03db4c937ace6607f2ddc795fb245de..c136bc8c0bbbdebae101aa1bfc5928435c4f45ca 100644 (file)
@@ -37,7 +37,7 @@ def _extract_url_result(self, post):
                     elif source == 'youtube':
                         return self.url_result(video_id, 'Youtube')
                     elif source == 'cinematique':
-                        # youtube-dl currently doesn't support cinematique
+                        # youtube-dlc currently doesn't support cinematique
                         # return self.url_result('http://cinematique.com/embed/%s' % video_id, 'Cinematique')
                         pass
 
similarity index 99%
rename from youtube_dl/extractor/sohu.py
rename to youtube_dlc/extractor/sohu.py
index a62ed84f1e34b75a721914d68a101ad2a0bb8983..76b3cc6b6b8ef639aa7185be60e68b3383e4c2fb 100644 (file)
@@ -77,7 +77,7 @@ class SohuIE(InfoExtractor):
         'info_dict': {
             'id': '78932792',
             'ext': 'mp4',
-            'title': 'youtube-dl testing video',
+            'title': 'youtube-dlc testing video',
         },
         'params': {
             'skip_download': True
similarity index 99%
rename from youtube_dl/extractor/soundcloud.py
rename to youtube_dlc/extractor/soundcloud.py
index ac09cb5e615503f4ec489c8798f8205d9e218a10..ae3573680b4f47c06dbf4700d240bacdc1537c56 100644 (file)
@@ -122,7 +122,7 @@ class SoundcloudIE(InfoExtractor):
         },
         # private link
         {
-            'url': 'https://soundcloud.com/jaimemf/youtube-dl-test-video-a-y-baw/s-8Pjrp',
+            'url': 'https://soundcloud.com/jaimemf/youtube-dlc-test-video-a-y-baw/s-8Pjrp',
             'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604',
             'info_dict': {
                 'id': '123998367',
similarity index 93%
rename from youtube_dl/extractor/streamcloud.py
rename to youtube_dlc/extractor/streamcloud.py
index b97bb43741b0861ce3cf9e63f1be116687409854..32eb2b92d3a13a7edc4b728f05534afc98fdf054 100644 (file)
@@ -15,12 +15,12 @@ class StreamcloudIE(InfoExtractor):
     _VALID_URL = r'https?://streamcloud\.eu/(?P<id>[a-zA-Z0-9_-]+)(?:/(?P<fname>[^#?]*)\.html)?'
 
     _TESTS = [{
-        'url': 'http://streamcloud.eu/skp9j99s4bpz/youtube-dl_test_video_____________-BaW_jenozKc.mp4.html',
+        'url': 'http://streamcloud.eu/skp9j99s4bpz/youtube-dlc_test_video_____________-BaW_jenozKc.mp4.html',
         'md5': '6bea4c7fa5daaacc2a946b7146286686',
         'info_dict': {
             'id': 'skp9j99s4bpz',
             'ext': 'mp4',
-            'title': 'youtube-dl test video  \'/\\ ä ↭',
+            'title': 'youtube-dlc test video  \'/\\ ä ↭',
         },
         'skip': 'Only available from the EU'
     }, {
similarity index 99%
rename from youtube_dl/extractor/udemy.py
rename to youtube_dlc/extractor/udemy.py
index 2a4faecefbc271f1f88dfe38d2fe284e0bbd9158..60e364d301feae058ae2eda4a7b46f7103ec3439 100644 (file)
@@ -143,7 +143,7 @@ def _download_webpage_handle(self, *args, **kwargs):
             raise ExtractorError(
                 'Udemy asks you to solve a CAPTCHA. Login with browser, '
                 'solve CAPTCHA, then export cookies and pass cookie file to '
-                'youtube-dl with --cookies.', expected=True)
+                'youtube-dlc with --cookies.', expected=True)
         return ret
 
     def _download_json(self, url_or_request, *args, **kwargs):
similarity index 96%
rename from youtube_dl/extractor/vidzi.py
rename to youtube_dlc/extractor/vidzi.py
index 42ea4952c381b497b6f01abcb44212339563e0a3..4e79a0b84b8ca04ea537646aee4b593872351829 100644 (file)
@@ -20,7 +20,7 @@ class VidziIE(InfoExtractor):
         'info_dict': {
             'id': 'cghql9yq6emu',
             'ext': 'mp4',
-            'title': 'youtube-dl test video  1\\\\2\'3/4<5\\\\6ä7↭',
+            'title': 'youtube-dlc test video  1\\\\2\'3/4<5\\\\6ä7↭',
         },
         'params': {
             # m3u8 download
similarity index 99%
rename from youtube_dl/extractor/vimeo.py
rename to youtube_dlc/extractor/vimeo.py
index 421795b94d9f6cf10fe3d5725503baa86383062c..bbd7d06db3c943f1009b3d345b1513ed91ceaaca 100644 (file)
@@ -287,7 +287,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
             'info_dict': {
                 'id': '56015672',
                 'ext': 'mp4',
-                'title': "youtube-dl test video - \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550",
+                'title': "youtube-dlc test video - \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550",
                 'description': 'md5:2d3305bad981a06ff79f027f19865021',
                 'timestamp': 1355990239,
                 'upload_date': '20121220',
@@ -347,7 +347,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
             'info_dict': {
                 'id': '68375962',
                 'ext': 'mp4',
-                'title': 'youtube-dl password protected test video',
+                'title': 'youtube-dlc password protected test video',
                 'timestamp': 1371200155,
                 'upload_date': '20130614',
                 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user18948128',
@@ -358,7 +358,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
             },
             'params': {
                 'format': 'best[protocol=https]',
-                'videopassword': 'youtube-dl',
+                'videopassword': 'youtube-dlc',
             },
         },
         {
@@ -473,7 +473,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
             'info_dict': {
                 'id': '68375962',
                 'ext': 'mp4',
-                'title': 'youtube-dl password protected test video',
+                'title': 'youtube-dlc password protected test video',
                 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user18948128',
                 'uploader_id': 'user18948128',
                 'uploader': 'Jaime Marquínez Ferrándiz',
@@ -481,7 +481,7 @@ class VimeoIE(VimeoBaseInfoExtractor):
             },
             'params': {
                 'format': 'best[protocol=https]',
-                'videopassword': 'youtube-dl',
+                'videopassword': 'youtube-dlc',
             },
         },
         {
@@ -600,7 +600,7 @@ def _real_extract(self, url):
                 if b'Because of its privacy settings, this video cannot be played here' in errmsg:
                     raise ExtractorError(
                         'Cannot download embed-only video without embedding '
-                        'URL. Please call youtube-dl with the URL of the page '
+                        'URL. Please call youtube-dlc with the URL of the page '
                         'that embeds this video.',
                         expected=True)
             raise
@@ -917,7 +917,7 @@ class VimeoAlbumIE(VimeoBaseInfoExtractor):
         },
         'playlist_count': 1,
         'params': {
-            'videopassword': 'youtube-dl',
+            'videopassword': 'youtube-dlc',
         }
     }]
     _PAGE_SIZE = 100
similarity index 99%
rename from youtube_dl/extractor/yandexmusic.py
rename to youtube_dlc/extractor/yandexmusic.py
index 08d35e04c968a497bc28f4c3207e8d63432bd8d4..4358bc83669ffab11e5dab39444ddce1acdab2cd 100644 (file)
@@ -27,12 +27,12 @@ def _handle_error(response):
     @staticmethod
     def _raise_captcha():
         raise ExtractorError(
-            'YandexMusic has considered youtube-dl requests automated and '
+            'YandexMusic has considered youtube-dlc requests automated and '
             'asks you to solve a CAPTCHA. You can either wait for some '
             'time until unblocked and optionally use --sleep-interval '
             'in future or alternatively you can go to https://music.yandex.ru/ '
             'solve CAPTCHA, then export cookies and pass cookie file to '
-            'youtube-dl with --cookies',
+            'youtube-dlc with --cookies',
             expected=True)
 
     def _download_webpage_handle(self, *args, **kwargs):
similarity index 99%
rename from youtube_dl/extractor/youtube.py
rename to youtube_dlc/extractor/youtube.py
index 70a5bd3b0f77e0e6c08e946e219cd7544beefa8f..395cbf6a27a8d3046338f629b2ef57a85043ee8b 100644 (file)
@@ -560,16 +560,16 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
             'info_dict': {
                 'id': 'BaW_jenozKc',
                 'ext': 'mp4',
-                'title': 'youtube-dl test video "\'/\\ä↭𝕐',
+                'title': 'youtube-dlc test video "\'/\\ä↭𝕐',
                 'uploader': 'Philipp Hagemeister',
                 'uploader_id': 'phihag',
                 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/phihag',
                 'channel_id': 'UCLqxVugv74EIW3VWh2NOa3Q',
                 'channel_url': r're:https?://(?:www\.)?youtube\.com/channel/UCLqxVugv74EIW3VWh2NOa3Q',
                 'upload_date': '20121002',
-                'description': 'test chars:  "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .',
+                'description': 'test chars:  "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dlc.\n\nFor more information, contact phihag@phihag.de .',
                 'categories': ['Science & Technology'],
-                'tags': ['youtube-dl'],
+                'tags': ['youtube-dlc'],
                 'duration': 10,
                 'view_count': int,
                 'like_count': int,
@@ -641,14 +641,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
             'info_dict': {
                 'id': 'BaW_jenozKc',
                 'ext': 'mp4',
-                'title': 'youtube-dl test video "\'/\\ä↭𝕐',
+                'title': 'youtube-dlc test video "\'/\\ä↭𝕐',
                 'uploader': 'Philipp Hagemeister',
                 'uploader_id': 'phihag',
                 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/phihag',
                 'upload_date': '20121002',
-                'description': 'test chars:  "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .',
+                'description': 'test chars:  "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dlc.\n\nFor more information, contact phihag@phihag.de .',
                 'categories': ['Science & Technology'],
-                'tags': ['youtube-dl'],
+                'tags': ['youtube-dlc'],
                 'duration': 10,
                 'view_count': int,
                 'like_count': int,
@@ -2600,7 +2600,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor):
             'uploader_id': 'UCmlqkdCBesrv2Lak1mF_MxA',
             'uploader': 'Sergey M.',
             'id': 'PL4lCao7KL_QFVb7Iudeipvc2BCavECqzc',
-            'title': 'youtube-dl public playlist',
+            'title': 'youtube-dlc public playlist',
         },
         'playlist_count': 1,
     }, {
@@ -2609,7 +2609,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor):
             'uploader_id': 'UCmlqkdCBesrv2Lak1mF_MxA',
             'uploader': 'Sergey M.',
             'id': 'PL4lCao7KL_QFodcLWhDpGCYnngnHtQ-Xf',
-            'title': 'youtube-dl empty playlist',
+            'title': 'youtube-dlc empty playlist',
         },
         'playlist_count': 0,
     }, {
@@ -3235,10 +3235,10 @@ class YoutubeSearchURLIE(YoutubeSearchBaseInfoExtractor):
     IE_NAME = 'youtube:search_url'
     _VALID_URL = r'https?://(?:www\.)?youtube\.com/results\?(.*?&)?(?:search_query|q)=(?P<query>[^&]+)(?:[&]|$)'
     _TESTS = [{
-        'url': 'https://www.youtube.com/results?baz=bar&search_query=youtube-dl+test+video&filters=video&lclk=video',
+        'url': 'https://www.youtube.com/results?baz=bar&search_query=youtube-dlc+test+video&filters=video&lclk=video',
         'playlist_mincount': 5,
         'info_dict': {
-            'title': 'youtube-dl test video',
+            'title': 'youtube-dlc test video',
         }
     }, {
         'url': 'https://www.youtube.com/results?q=test&sp=EgQIBBgB',
@@ -3422,9 +3422,9 @@ def _real_extract(self, url):
         raise ExtractorError(
             'Did you forget to quote the URL? Remember that & is a meta '
             'character in most shells, so you want to put the URL in quotes, '
-            'like  youtube-dl '
+            'like  youtube-dlc '
             '"https://www.youtube.com/watch?feature=foo&v=BaW_jenozKc" '
-            ' or simply  youtube-dl BaW_jenozKc  .',
+            ' or simply  youtube-dlc BaW_jenozKc  .',
             expected=True)
 
 
similarity index 96%
rename from youtube_dl/options.py
rename to youtube_dlc/options.py
index 6d5ac62b3bab68de226060c6bcd3cd9299f02825..2cc5eee742dcef08553b12082c10b0e9f23248fb 100644 (file)
@@ -57,33 +57,33 @@ def _readOptions(filename_bytes, default=[]):
     def _readUserConf():
         xdg_config_home = compat_getenv('XDG_CONFIG_HOME')
         if xdg_config_home:
-            userConfFile = os.path.join(xdg_config_home, 'youtube-dl', 'config')
+            userConfFile = os.path.join(xdg_config_home, 'youtube-dlc', 'config')
             if not os.path.isfile(userConfFile):
-                userConfFile = os.path.join(xdg_config_home, 'youtube-dl.conf')
+                userConfFile = os.path.join(xdg_config_home, 'youtube-dlc.conf')
         else:
-            userConfFile = os.path.join(compat_expanduser('~'), '.config', 'youtube-dl', 'config')
+            userConfFile = os.path.join(compat_expanduser('~'), '.config', 'youtube-dlc', 'config')
             if not os.path.isfile(userConfFile):
-                userConfFile = os.path.join(compat_expanduser('~'), '.config', 'youtube-dl.conf')
+                userConfFile = os.path.join(compat_expanduser('~'), '.config', 'youtube-dlc.conf')
         userConf = _readOptions(userConfFile, None)
 
         if userConf is None:
             appdata_dir = compat_getenv('appdata')
             if appdata_dir:
                 userConf = _readOptions(
-                    os.path.join(appdata_dir, 'youtube-dl', 'config'),
+                    os.path.join(appdata_dir, 'youtube-dlc', 'config'),
                     default=None)
                 if userConf is None:
                     userConf = _readOptions(
-                        os.path.join(appdata_dir, 'youtube-dl', 'config.txt'),
+                        os.path.join(appdata_dir, 'youtube-dlc', 'config.txt'),
                         default=None)
 
         if userConf is None:
             userConf = _readOptions(
-                os.path.join(compat_expanduser('~'), 'youtube-dl.conf'),
+                os.path.join(compat_expanduser('~'), 'youtube-dlc.conf'),
                 default=None)
         if userConf is None:
             userConf = _readOptions(
-                os.path.join(compat_expanduser('~'), 'youtube-dl.conf.txt'),
+                os.path.join(compat_expanduser('~'), 'youtube-dlc.conf.txt'),
                 default=None)
 
         if userConf is None:
@@ -168,14 +168,14 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
     general.add_option(
         '--default-search',
         dest='default_search', metavar='PREFIX',
-        help='Use this prefix for unqualified URLs. For example "gvsearch2:" downloads two videos from google videos for youtube-dl "large apple". Use the value "auto" to let youtube-dl guess ("auto_warning" to emit a warning when guessing). "error" just throws an error. The default value "fixup_error" repairs broken URLs, but emits an error if this is not possible instead of searching.')
+        help='Use this prefix for unqualified URLs. For example "gvsearch2:" downloads two videos from google videos for youtube-dlc "large apple". Use the value "auto" to let youtube-dlc guess ("auto_warning" to emit a warning when guessing). "error" just throws an error. The default value "fixup_error" repairs broken URLs, but emits an error if this is not possible instead of searching.')
     general.add_option(
         '--ignore-config',
         action='store_true',
         help='Do not read configuration files. '
-        'When given in the global configuration file /etc/youtube-dl.conf: '
-        'Do not read the user configuration in ~/.config/youtube-dl/config '
-        '(%APPDATA%/youtube-dl/config.txt on Windows)')
+        'When given in the global configuration file /etc/youtube-dlc.conf: '
+        'Do not read the user configuration in ~/.config/youtube-dlc/config '
+        '(%APPDATA%/youtube-dlc/config.txt on Windows)')
     general.add_option(
         '--config-location',
         dest='config_location', metavar='PATH',
@@ -357,7 +357,7 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
     authentication.add_option(
         '-p', '--password',
         dest='password', metavar='PASSWORD',
-        help='Account password. If this option is left out, youtube-dl will ask interactively.')
+        help='Account password. If this option is left out, youtube-dlc will ask interactively.')
     authentication.add_option(
         '-2', '--twofactor',
         dest='twofactor', metavar='TWOFACTOR',
@@ -383,7 +383,7 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
     adobe_pass.add_option(
         '--ap-password',
         dest='ap_password', metavar='PASSWORD',
-        help='Multiple-system operator account password. If this option is left out, youtube-dl will ask interactively.')
+        help='Multiple-system operator account password. If this option is left out, youtube-dlc will ask interactively.')
     adobe_pass.add_option(
         '--ap-list-mso',
         action='store_true', dest='ap_list_mso', default=False,
@@ -670,11 +670,11 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
     verbosity.add_option(
         '-C', '--call-home',
         dest='call_home', action='store_true', default=False,
-        help='Contact the youtube-dl server for debugging')
+        help='Contact the youtube-dlc server for debugging')
     verbosity.add_option(
         '--no-call-home',
         dest='call_home', action='store_false', default=False,
-        help='Do NOT contact the youtube-dl server for debugging')
+        help='Do NOT contact the youtube-dlc server for debugging')
 
     filesystem = optparse.OptionGroup(parser, 'Filesystem Options')
     filesystem.add_option(
@@ -720,7 +720,7 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
     filesystem.add_option(
         '-c', '--continue',
         action='store_true', dest='continue_dl', default=True,
-        help='Force resume of partially downloaded files. By default, youtube-dl will resume downloads if possible.')
+        help='Force resume of partially downloaded files. By default, youtube-dlc will resume downloads if possible.')
     filesystem.add_option(
         '--no-continue',
         action='store_false', dest='continue_dl',
@@ -755,7 +755,7 @@ def _comma_separated_values_options_callback(option, opt_str, value, parser):
         help='File to read cookies from and dump cookie jar in')
     filesystem.add_option(
         '--cache-dir', dest='cachedir', default=None, metavar='DIR',
-        help='Location in the filesystem where youtube-dl can store some downloaded information permanently. By default $XDG_CACHE_HOME/youtube-dl or ~/.cache/youtube-dl . At the moment, only YouTube player files (for videos with obfuscated signatures) are cached, but that may change.')
+        help='Location in the filesystem where youtube-dlc can store some downloaded information permanently. By default $XDG_CACHE_HOME/youtube-dlc or ~/.cache/youtube-dlc . At the moment, only YouTube player files (for videos with obfuscated signatures) are cached, but that may change.')
     filesystem.add_option(
         '--no-cache-dir', action='store_const', const=False, dest='cachedir',
         help='Disable filesystem caching')
@@ -892,14 +892,14 @@ def compat_conf(conf):
         if '--config-location' in command_line_conf:
             location = compat_expanduser(opts.config_location)
             if os.path.isdir(location):
-                location = os.path.join(location, 'youtube-dl.conf')
+                location = os.path.join(location, 'youtube-dlc.conf')
             if not os.path.exists(location):
                 parser.error('config-location %s does not exist.' % location)
             custom_conf = _readOptions(location)
         elif '--ignore-config' in command_line_conf:
             pass
         else:
-            system_conf = _readOptions('/etc/youtube-dl.conf')
+            system_conf = _readOptions('/etc/youtube-dlc.conf')
             if '--ignore-config' not in system_conf:
                 user_conf = _readUserConf()
 
similarity index 99%
rename from youtube_dl/postprocessor/ffmpeg.py
rename to youtube_dlc/postprocessor/ffmpeg.py
index 5f7298345b3f550c9a8d8b7ba2b602d2f084ed36..dbc736c50930670303783c047ce261067a57c744 100644 (file)
@@ -533,7 +533,7 @@ def can_merge(self):
         if is_outdated_version(
                 self._versions[self.basename], required_version):
             warning = ('Your copy of %s is outdated and unable to properly mux separate video and audio files, '
-                       'youtube-dl will download single file media. '
+                       'youtube-dlc will download single file media. '
                        'Update %s to version %s or newer to fix this.') % (
                            self.basename, self.basename, required_version)
             if self._downloader:
similarity index 100%
rename from youtube_dl/socks.py
rename to youtube_dlc/socks.py
similarity index 93%
rename from youtube_dl/update.py
rename to youtube_dlc/update.py
index 84c9646171e0b8f8d6a6397bff5339205cdadcd7..d95a07c0ca94b01b836bc7b62bfc5fc505f66873 100644 (file)
@@ -38,7 +38,7 @@ def update_self(to_screen, verbose, opener):
     UPDATES_RSA_KEY = (0x9d60ee4d8f805312fdb15a62f87b95bd66177b91df176765d13514a0f1754bcd2057295c5b6f1d35daa6742c3ffc9a82d3e118861c207995a8031e151d863c9927e304576bc80692bc8e094896fcf11b66f3e29e04e3a71e9a11558558acea1840aec37fc396fb6b65dc81a1c4144e03bd1c011de62e3f1357b327d08426fe93, 65537)
 
     if not isinstance(globals().get('__loader__'), zipimporter) and not hasattr(sys, 'frozen'):
-        to_screen('It looks like you installed youtube-dl with a package manager, pip, setup.py or a tarball. Please use that to update.')
+        to_screen('It looks like you installed youtube-dlc with a package manager, pip, setup.py or a tarball. Please use that to update.')
         return
 
     # Check if there is a new version
@@ -50,7 +50,7 @@ def update_self(to_screen, verbose, opener):
         to_screen('ERROR: can\'t find the current version. Please try again later.')
         return
     if newversion == __version__:
-        to_screen('youtube-dl is up-to-date (' + __version__ + ')')
+        to_screen('youtube-dlc is up-to-date (' + __version__ + ')')
         return
 
     # Download and check versions info
@@ -76,7 +76,7 @@ def update_self(to_screen, verbose, opener):
     def version_tuple(version_str):
         return tuple(map(int, version_str.split('.')))
     if version_tuple(__version__) >= version_tuple(version_id):
-        to_screen('youtube-dl is up to date (%s)' % __version__)
+        to_screen('youtube-dlc is up to date (%s)' % __version__)
         return
 
     to_screen('Updating to version ' + version_id + ' ...')
@@ -126,14 +126,14 @@ def version_tuple(version_str):
             return
 
         try:
-            bat = os.path.join(directory, 'youtube-dl-updater.bat')
+            bat = os.path.join(directory, 'youtube-dlc-updater.bat')
             with io.open(bat, 'w') as batfile:
                 batfile.write('''
 @echo off
 echo Waiting for file handle to be closed ...
 ping 127.0.0.1 -n 5 -w 1000 > NUL
 move /Y "%s.new" "%s" > NUL
-echo Updated youtube-dl to version %s.
+echo Updated youtube-dlc to version %s.
 start /b "" cmd /c del "%%~f0"&exit /b"
                 \n''' % (exe, exe, version_id))
 
@@ -171,7 +171,7 @@ def version_tuple(version_str):
             to_screen('ERROR: unable to overwrite current version')
             return
 
-    to_screen('Updated youtube-dl. Restart youtube-dl to use the new version.')
+    to_screen('Updated youtube-dlc. Restart youtube-dlc to use the new version.')
 
 
 def get_notes(versions, fromVersion):
similarity index 99%
rename from youtube_dl/utils.py
rename to youtube_dlc/utils.py
index c73f5e0ca4db667ad79b1428d94d46b987736bdd..7dafacac2a1c43fb43a081fdc277f2df08cf2707 100644 (file)
@@ -2317,12 +2317,12 @@ def make_HTTPS_handler(params, **kwargs):
 
 def bug_reports_message():
     if ytdl_is_updateable():
-        update_cmd = 'type  youtube-dl -U  to update'
+        update_cmd = 'type  youtube-dlc -U  to update'
     else:
         update_cmd = 'see  https://yt-dl.org/update  on how to update'
     msg = '; please report this issue on https://yt-dl.org/bug .'
     msg += ' Make sure you are using the latest version; %s.' % update_cmd
-    msg += ' Be sure to call youtube-dl with the --verbose flag and include its complete output.'
+    msg += ' Be sure to call youtube-dlc with the --verbose flag and include its complete output.'
     return msg
 
 
@@ -2336,7 +2336,7 @@ class ExtractorError(YoutubeDLError):
 
     def __init__(self, msg, tb=None, expected=False, cause=None, video_id=None):
         """ tb, if given, is the original traceback (so that it can be printed out).
-        If expected is set, this is a normal error message and most likely not a bug in youtube-dl.
+        If expected is set, this is a normal error message and most likely not a bug in youtube-dlc.
         """
 
         if sys.exc_info()[0] in (compat_urllib_error.URLError, socket.timeout, UnavailableVideoError):
@@ -2745,7 +2745,7 @@ class YoutubeDLCookieJar(compat_cookiejar.MozillaCookieJar):
     _HTTPONLY_PREFIX = '#HttpOnly_'
     _ENTRY_LEN = 7
     _HEADER = '''# Netscape HTTP Cookie File
-# This file is generated by youtube-dl.  Do not edit.
+# This file is generated by youtube-dlc.  Do not edit.
 
 '''
     _CookieFileEntry = collections.namedtuple(
@@ -3732,7 +3732,7 @@ def get_exe_version(exe, args=['--version'],
     or False if the executable is not present """
     try:
         # STDIN should be redirected too. On UNIX-like systems, ffmpeg triggers
-        # SIGTTOU if youtube-dl is run in the background.
+        # SIGTTOU if youtube-dlc is run in the background.
         # See https://github.com/ytdl-org/youtube-dl/issues/955#issuecomment-209789656
         out, _ = subprocess.Popen(
             [encodeArgument(exe)] + args,
@@ -4144,7 +4144,7 @@ def is_outdated_version(version, limit, assume_new=True):
 
 
 def ytdl_is_updateable():
-    """ Returns if youtube-dl can be updated with -U """
+    """ Returns if youtube-dlc can be updated with -U """
     from zipimport import zipimporter
 
     return isinstance(globals().get('__loader__'), zipimporter) or hasattr(sys, 'frozen')
@@ -5353,7 +5353,7 @@ def proxy_open(self, req, proxy, type):
             return None  # No Proxy
         if compat_urlparse.urlparse(proxy).scheme.lower() in ('socks', 'socks4', 'socks4a', 'socks5'):
             req.add_header('Ytdl-socks-proxy', proxy)
-            # youtube-dl's http/https handlers do wrapping the socket with socks
+            # youtube-dlc's http/https handlers do wrapping the socket with socks
             return None
         return compat_urllib_request.ProxyHandler.proxy_open(
             self, req, proxy, type)
@@ -5626,7 +5626,7 @@ def write_xattr(path, key, value):
                 # TODO: fallback to CLI tools
                 raise XAttrUnavailableError(
                     'python-pyxattr is detected but is too old. '
-                    'youtube-dl requires %s or above while your version is %s. '
+                    'youtube-dlc requires %s or above while your version is %s. '
                     'Falling back to other xattr implementations' % (
                         pyxattr_required_version, xattr.__version__))
 
similarity index 100%
rename from youtube_dl/version.py
rename to youtube_dlc/version.py