From 5122028a4bcac4ae577ef7fbd55ccad5cb34ef5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Mon, 18 Oct 2021 15:24:21 -0500 Subject: update from upstream --- hypervideo_dl/extractor/__init__.py | 9 +- hypervideo_dl/extractor/abc.py | 104 +- hypervideo_dl/extractor/abcnews.py | 3 +- hypervideo_dl/extractor/abcotvs.py | 3 +- hypervideo_dl/extractor/acast.py | 3 +- hypervideo_dl/extractor/adobepass.py | 155 +- hypervideo_dl/extractor/adobetv.py | 8 +- hypervideo_dl/extractor/adultswim.py | 3 +- hypervideo_dl/extractor/aenetworks.py | 11 +- hypervideo_dl/extractor/afreecatv.py | 23 +- hypervideo_dl/extractor/aljazeera.py | 5 +- hypervideo_dl/extractor/alura.py | 179 + hypervideo_dl/extractor/amcnetworks.py | 69 +- hypervideo_dl/extractor/americastestkitchen.py | 5 +- hypervideo_dl/extractor/animelab.py | 285 ++ hypervideo_dl/extractor/anvato.py | 25 +- .../extractor/anvato_token_generator/__init__.py | 7 + .../extractor/anvato_token_generator/common.py | 6 + .../extractor/anvato_token_generator/nfl.py | 30 + hypervideo_dl/extractor/aol.py | 9 +- hypervideo_dl/extractor/apa.py | 2 +- hypervideo_dl/extractor/aparat.py | 3 +- hypervideo_dl/extractor/appleconnect.py | 13 +- hypervideo_dl/extractor/appletrailers.py | 2 +- hypervideo_dl/extractor/archiveorg.py | 427 ++- hypervideo_dl/extractor/arcpublishing.py | 11 +- hypervideo_dl/extractor/ard.py | 181 +- hypervideo_dl/extractor/arkena.py | 6 +- hypervideo_dl/extractor/arte.py | 15 +- hypervideo_dl/extractor/asiancrush.py | 4 +- hypervideo_dl/extractor/atresplayer.py | 13 +- hypervideo_dl/extractor/atvat.py | 125 +- hypervideo_dl/extractor/audius.py | 274 ++ hypervideo_dl/extractor/awaan.py | 7 +- hypervideo_dl/extractor/azmedien.py | 3 +- hypervideo_dl/extractor/baidu.py | 3 +- hypervideo_dl/extractor/bandcamp.py | 48 +- hypervideo_dl/extractor/bannedvideo.py | 158 + hypervideo_dl/extractor/bbc.py | 9 +- hypervideo_dl/extractor/beatport.py | 4 +- hypervideo_dl/extractor/beeg.py | 4 +- hypervideo_dl/extractor/behindkink.py | 3 +- hypervideo_dl/extractor/bellmedia.py | 3 +- hypervideo_dl/extractor/bet.py | 2 + hypervideo_dl/extractor/bilibili.py | 468 ++- hypervideo_dl/extractor/bitchute.py | 32 +- hypervideo_dl/extractor/bitwave.py | 61 + hypervideo_dl/extractor/blackboardcollaborate.py | 67 + hypervideo_dl/extractor/blinkx.py | 86 + hypervideo_dl/extractor/bokecc.py | 5 +- hypervideo_dl/extractor/bongacams.py | 3 +- hypervideo_dl/extractor/box.py | 3 +- hypervideo_dl/extractor/bpb.py | 2 +- hypervideo_dl/extractor/br.py | 5 +- hypervideo_dl/extractor/bravotv.py | 38 +- hypervideo_dl/extractor/breakcom.py | 3 +- hypervideo_dl/extractor/brightcove.py | 33 +- hypervideo_dl/extractor/byutv.py | 17 +- hypervideo_dl/extractor/c56.py | 3 +- hypervideo_dl/extractor/cam4.py | 32 + hypervideo_dl/extractor/cammodels.py | 2 +- hypervideo_dl/extractor/canalplus.py | 5 +- hypervideo_dl/extractor/canvas.py | 83 +- hypervideo_dl/extractor/cbc.py | 476 ++- hypervideo_dl/extractor/cbs.py | 134 +- hypervideo_dl/extractor/cbsinteractive.py | 3 +- hypervideo_dl/extractor/cbssports.py | 3 +- hypervideo_dl/extractor/ccma.py | 3 +- hypervideo_dl/extractor/cctv.py | 2 +- hypervideo_dl/extractor/cda.py | 44 +- hypervideo_dl/extractor/ceskatelevize.py | 5 +- hypervideo_dl/extractor/cgtn.py | 64 + hypervideo_dl/extractor/channel9.py | 8 +- hypervideo_dl/extractor/chilloutzone.py | 3 +- hypervideo_dl/extractor/chingari.py | 209 ++ hypervideo_dl/extractor/cinemax.py | 3 +- hypervideo_dl/extractor/ciscolive.py | 7 +- hypervideo_dl/extractor/ciscowebex.py | 90 + hypervideo_dl/extractor/cjsw.py | 3 +- hypervideo_dl/extractor/clyp.py | 7 +- hypervideo_dl/extractor/cmt.py | 6 +- hypervideo_dl/extractor/cnbc.py | 3 +- hypervideo_dl/extractor/cnn.py | 3 +- hypervideo_dl/extractor/comedycentral.py | 5 +- hypervideo_dl/extractor/common.py | 1653 ++++++--- hypervideo_dl/extractor/commonmistakes.py | 4 +- hypervideo_dl/extractor/commonprotocols.py | 14 + hypervideo_dl/extractor/condenast.py | 2 +- hypervideo_dl/extractor/corus.py | 5 +- hypervideo_dl/extractor/coub.py | 6 +- hypervideo_dl/extractor/crackle.py | 279 +- hypervideo_dl/extractor/crunchyroll.py | 133 +- hypervideo_dl/extractor/cultureunplugged.py | 3 +- hypervideo_dl/extractor/curiositystream.py | 22 +- hypervideo_dl/extractor/dailymotion.py | 10 +- hypervideo_dl/extractor/damtomo.py | 113 + hypervideo_dl/extractor/daum.py | 9 +- hypervideo_dl/extractor/dbtv.py | 2 +- hypervideo_dl/extractor/deezer.py | 127 +- hypervideo_dl/extractor/dfb.py | 3 +- hypervideo_dl/extractor/digiteka.py | 2 +- hypervideo_dl/extractor/discovery.py | 3 +- hypervideo_dl/extractor/discoverynetworks.py | 3 +- hypervideo_dl/extractor/discoveryplusindia.py | 98 + hypervideo_dl/extractor/disney.py | 5 +- hypervideo_dl/extractor/dispeak.py | 2 +- hypervideo_dl/extractor/dlive.py | 3 +- hypervideo_dl/extractor/doodstream.py | 71 + hypervideo_dl/extractor/dplay.py | 112 +- hypervideo_dl/extractor/drbonanza.py | 3 +- hypervideo_dl/extractor/dropbox.py | 4 +- hypervideo_dl/extractor/drtuber.py | 2 +- hypervideo_dl/extractor/drtv.py | 4 +- hypervideo_dl/extractor/dtube.py | 3 +- hypervideo_dl/extractor/duboku.py | 242 ++ hypervideo_dl/extractor/dw.py | 14 +- hypervideo_dl/extractor/eagleplatform.py | 2 +- hypervideo_dl/extractor/egghead.py | 19 +- hypervideo_dl/extractor/eighttracks.py | 20 +- hypervideo_dl/extractor/einthusan.py | 3 +- hypervideo_dl/extractor/elonet.py | 89 + hypervideo_dl/extractor/epicon.py | 119 + hypervideo_dl/extractor/eporner.py | 3 +- hypervideo_dl/extractor/eroprofile.py | 39 + hypervideo_dl/extractor/espn.py | 2 +- hypervideo_dl/extractor/europa.py | 4 +- hypervideo_dl/extractor/euscreen.py | 64 + hypervideo_dl/extractor/everyonesmixtape.py | 76 + hypervideo_dl/extractor/extractors.py | 320 +- hypervideo_dl/extractor/facebook.py | 151 +- hypervideo_dl/extractor/fancode.py | 187 + hypervideo_dl/extractor/fc2.py | 3 +- hypervideo_dl/extractor/filmmodu.py | 74 + hypervideo_dl/extractor/filmweb.py | 3 +- hypervideo_dl/extractor/firsttv.py | 2 +- hypervideo_dl/extractor/fivetv.py | 3 +- hypervideo_dl/extractor/flickr.py | 2 +- hypervideo_dl/extractor/fourtube.py | 4 +- hypervideo_dl/extractor/foxnews.py | 2 +- hypervideo_dl/extractor/francetv.py | 385 +- hypervideo_dl/extractor/frontendmasters.py | 2 +- hypervideo_dl/extractor/funimation.py | 408 ++- hypervideo_dl/extractor/funk.py | 3 +- hypervideo_dl/extractor/fxnetworks.py | 77 + hypervideo_dl/extractor/gab.py | 64 + hypervideo_dl/extractor/gaia.py | 3 +- hypervideo_dl/extractor/gamestar.py | 3 +- hypervideo_dl/extractor/gaskrank.py | 2 +- hypervideo_dl/extractor/gazeta.py | 3 +- hypervideo_dl/extractor/gdcvault.py | 2 +- hypervideo_dl/extractor/gedidigital.py | 57 +- hypervideo_dl/extractor/generic.py | 320 +- hypervideo_dl/extractor/gettr.py | 110 + hypervideo_dl/extractor/giantbomb.py | 3 +- hypervideo_dl/extractor/globo.py | 157 +- hypervideo_dl/extractor/go.py | 19 +- hypervideo_dl/extractor/godtube.py | 3 +- hypervideo_dl/extractor/googledrive.py | 4 +- hypervideo_dl/extractor/googlepodcasts.py | 3 +- hypervideo_dl/extractor/googlesearch.py | 28 +- hypervideo_dl/extractor/gopro.py | 110 + hypervideo_dl/extractor/gotostage.py | 73 + hypervideo_dl/extractor/gronkh.py | 43 + hypervideo_dl/extractor/hearthisat.py | 90 +- hypervideo_dl/extractor/hidive.py | 100 +- hypervideo_dl/extractor/hotstar.py | 303 +- hypervideo_dl/extractor/hrfensehen.py | 102 + hypervideo_dl/extractor/hrti.py | 5 +- hypervideo_dl/extractor/hungama.py | 58 +- hypervideo_dl/extractor/ichinanalive.py | 167 + hypervideo_dl/extractor/ign.py | 2 +- hypervideo_dl/extractor/imggaming.py | 5 +- hypervideo_dl/extractor/imgur.py | 2 +- hypervideo_dl/extractor/instagram.py | 35 +- hypervideo_dl/extractor/internetvideoarchive.py | 7 +- hypervideo_dl/extractor/iprima.py | 2 +- hypervideo_dl/extractor/iqiyi.py | 2 +- hypervideo_dl/extractor/itv.py | 173 +- hypervideo_dl/extractor/ivi.py | 33 +- hypervideo_dl/extractor/ivideon.py | 3 +- hypervideo_dl/extractor/iwara.py | 24 + hypervideo_dl/extractor/jeuxvideo.py | 3 +- hypervideo_dl/extractor/joj.py | 216 +- hypervideo_dl/extractor/jove.py | 3 +- hypervideo_dl/extractor/jwplatform.py | 11 +- hypervideo_dl/extractor/kakao.py | 121 +- hypervideo_dl/extractor/kaltura.py | 4 +- hypervideo_dl/extractor/kanalplay.py | 96 + hypervideo_dl/extractor/keezmovies.py | 4 +- hypervideo_dl/extractor/kinja.py | 2 +- hypervideo_dl/extractor/koo.py | 116 + hypervideo_dl/extractor/kusi.py | 3 +- hypervideo_dl/extractor/kuwo.py | 2 +- hypervideo_dl/extractor/la7.py | 174 +- hypervideo_dl/extractor/lbry.py | 30 +- hypervideo_dl/extractor/lecturio.py | 4 +- hypervideo_dl/extractor/leeco.py | 2 +- hypervideo_dl/extractor/lego.py | 3 +- hypervideo_dl/extractor/libsyn.py | 3 +- hypervideo_dl/extractor/lifenews.py | 2 +- hypervideo_dl/extractor/limelight.py | 11 +- hypervideo_dl/extractor/line.py | 10 +- hypervideo_dl/extractor/linkedin.py | 32 +- hypervideo_dl/extractor/linuxacademy.py | 21 +- hypervideo_dl/extractor/litv.py | 2 +- hypervideo_dl/extractor/livestream.py | 8 +- hypervideo_dl/extractor/lnkgo.py | 3 +- hypervideo_dl/extractor/localnews8.py | 3 +- hypervideo_dl/extractor/lovehomeporn.py | 3 +- hypervideo_dl/extractor/lrt.py | 3 +- hypervideo_dl/extractor/lynda.py | 6 +- hypervideo_dl/extractor/magentamusik360.py | 61 + hypervideo_dl/extractor/mailru.py | 25 +- hypervideo_dl/extractor/manoto.py | 138 + hypervideo_dl/extractor/massengeschmacktv.py | 2 +- hypervideo_dl/extractor/mdr.py | 4 +- hypervideo_dl/extractor/medaltv.py | 4 +- hypervideo_dl/extractor/mediaite.py | 93 + hypervideo_dl/extractor/mediaklikk.py | 104 + hypervideo_dl/extractor/mediaset.py | 116 +- hypervideo_dl/extractor/mediasite.py | 69 +- hypervideo_dl/extractor/metacafe.py | 4 +- hypervideo_dl/extractor/metacritic.py | 2 +- hypervideo_dl/extractor/mgoon.py | 3 +- hypervideo_dl/extractor/microsoftvirtualacademy.py | 4 +- hypervideo_dl/extractor/mildom.py | 258 ++ hypervideo_dl/extractor/minoto.py | 5 +- hypervideo_dl/extractor/mirrativ.py | 134 + hypervideo_dl/extractor/mit.py | 2 +- hypervideo_dl/extractor/mixcloud.py | 7 +- hypervideo_dl/extractor/moevideo.py | 3 +- hypervideo_dl/extractor/mojvideo.py | 3 +- hypervideo_dl/extractor/morningstar.py | 3 +- hypervideo_dl/extractor/motherless.py | 30 +- hypervideo_dl/extractor/moviezine.py | 3 +- hypervideo_dl/extractor/msn.py | 4 +- hypervideo_dl/extractor/mtv.py | 188 +- hypervideo_dl/extractor/muenchentv.py | 2 +- hypervideo_dl/extractor/musescore.py | 67 + hypervideo_dl/extractor/mxplayer.py | 222 ++ hypervideo_dl/extractor/mychannels.py | 3 +- hypervideo_dl/extractor/myspace.py | 16 +- hypervideo_dl/extractor/myvideoge.py | 56 + hypervideo_dl/extractor/n1.py | 136 + hypervideo_dl/extractor/naver.py | 85 + hypervideo_dl/extractor/nba.py | 13 +- hypervideo_dl/extractor/nbc.py | 161 +- hypervideo_dl/extractor/ndr.py | 179 +- hypervideo_dl/extractor/nebula.py | 238 ++ hypervideo_dl/extractor/neteasemusic.py | 2 +- hypervideo_dl/extractor/netzkino.py | 50 +- hypervideo_dl/extractor/newgrounds.py | 217 +- hypervideo_dl/extractor/nexx.py | 2 +- hypervideo_dl/extractor/nfhsnetwork.py | 144 + hypervideo_dl/extractor/nhk.py | 5 +- hypervideo_dl/extractor/nhl.py | 3 +- hypervideo_dl/extractor/nick.py | 85 +- hypervideo_dl/extractor/niconico.py | 660 +++- hypervideo_dl/extractor/ninecninemedia.py | 9 +- hypervideo_dl/extractor/ninenow.py | 58 +- hypervideo_dl/extractor/nitter.py | 228 ++ hypervideo_dl/extractor/noco.py | 235 ++ hypervideo_dl/extractor/nova.py | 4 +- hypervideo_dl/extractor/novaplay.py | 63 + hypervideo_dl/extractor/npo.py | 7 +- hypervideo_dl/extractor/nrk.py | 8 +- hypervideo_dl/extractor/ntvde.py | 2 +- hypervideo_dl/extractor/nuvid.py | 86 +- hypervideo_dl/extractor/nytimes.py | 10 +- hypervideo_dl/extractor/nzherald.py | 98 + hypervideo_dl/extractor/odnoklassniki.py | 5 +- hypervideo_dl/extractor/olympics.py | 56 + hypervideo_dl/extractor/on24.py | 91 + hypervideo_dl/extractor/ondemandkorea.py | 38 +- hypervideo_dl/extractor/onet.py | 4 +- hypervideo_dl/extractor/ooyala.py | 5 +- hypervideo_dl/extractor/openload.py | 3 +- hypervideo_dl/extractor/openrec.py | 126 + hypervideo_dl/extractor/ora.py | 2 +- hypervideo_dl/extractor/orf.py | 5 +- hypervideo_dl/extractor/packtpub.py | 5 +- hypervideo_dl/extractor/palcomp3.py | 7 +- hypervideo_dl/extractor/pandoratv.py | 7 +- hypervideo_dl/extractor/paramountplus.py | 145 + hypervideo_dl/extractor/parliamentliveuk.py | 76 +- hypervideo_dl/extractor/parlview.py | 68 + hypervideo_dl/extractor/patreon.py | 86 + hypervideo_dl/extractor/pbs.py | 33 +- hypervideo_dl/extractor/peertube.py | 818 ++++- hypervideo_dl/extractor/peloton.py | 222 ++ hypervideo_dl/extractor/performgroup.py | 3 +- hypervideo_dl/extractor/periscope.py | 8 +- hypervideo_dl/extractor/philharmoniedeparis.py | 2 +- hypervideo_dl/extractor/photobucket.py | 3 +- hypervideo_dl/extractor/piksel.py | 2 +- hypervideo_dl/extractor/pinterest.py | 6 +- hypervideo_dl/extractor/pladform.py | 4 +- hypervideo_dl/extractor/playfm.py | 3 +- hypervideo_dl/extractor/playplustv.py | 3 +- hypervideo_dl/extractor/playtvak.py | 2 +- hypervideo_dl/extractor/playwire.py | 3 +- hypervideo_dl/extractor/pluralsight.py | 9 +- hypervideo_dl/extractor/plutotv.py | 184 + hypervideo_dl/extractor/podomatic.py | 3 +- hypervideo_dl/extractor/pokemon.py | 73 +- hypervideo_dl/extractor/polskieradio.py | 47 +- hypervideo_dl/extractor/popcorntimes.py | 3 +- hypervideo_dl/extractor/popcorntv.py | 3 +- hypervideo_dl/extractor/porncom.py | 2 +- hypervideo_dl/extractor/pornflip.py | 82 + hypervideo_dl/extractor/pornhd.py | 3 +- hypervideo_dl/extractor/pornhub.py | 126 +- hypervideo_dl/extractor/pornovoisines.py | 3 +- hypervideo_dl/extractor/pornoxo.py | 3 +- hypervideo_dl/extractor/presstv.py | 3 +- hypervideo_dl/extractor/projectveritas.py | 55 + hypervideo_dl/extractor/prosiebensat1.py | 4 +- hypervideo_dl/extractor/pyvideo.py | 2 +- hypervideo_dl/extractor/qqmusic.py | 2 +- hypervideo_dl/extractor/radiko.py | 234 ++ hypervideo_dl/extractor/radiocanada.py | 3 +- hypervideo_dl/extractor/radiofrance.py | 4 +- hypervideo_dl/extractor/radlive.py | 179 + hypervideo_dl/extractor/rai.py | 146 +- hypervideo_dl/extractor/raywenderlich.py | 2 +- hypervideo_dl/extractor/rbmaradio.py | 3 +- hypervideo_dl/extractor/rcs.py | 427 +++ hypervideo_dl/extractor/rcti.py | 354 ++ hypervideo_dl/extractor/redbulltv.py | 5 +- hypervideo_dl/extractor/reddit.py | 32 +- hypervideo_dl/extractor/redtube.py | 3 +- hypervideo_dl/extractor/rice.py | 2 +- hypervideo_dl/extractor/rmcdecouverte.py | 29 +- hypervideo_dl/extractor/roosterteeth.py | 26 +- hypervideo_dl/extractor/roxwel.py | 3 +- hypervideo_dl/extractor/rtbf.py | 4 +- hypervideo_dl/extractor/rtl2.py | 4 +- hypervideo_dl/extractor/rtp.py | 88 +- hypervideo_dl/extractor/rts.py | 2 +- hypervideo_dl/extractor/rtve.py | 3 +- hypervideo_dl/extractor/rumble.py | 47 +- hypervideo_dl/extractor/rutube.py | 11 +- hypervideo_dl/extractor/rutv.py | 8 +- hypervideo_dl/extractor/ruutu.py | 6 +- hypervideo_dl/extractor/safari.py | 11 +- hypervideo_dl/extractor/saitosan.py | 78 + hypervideo_dl/extractor/sapo.py | 2 +- hypervideo_dl/extractor/savefrom.py | 3 +- hypervideo_dl/extractor/scrippsnetworks.py | 5 +- hypervideo_dl/extractor/seeker.py | 2 +- hypervideo_dl/extractor/senateisvp.py | 2 +- hypervideo_dl/extractor/sendtonews.py | 4 +- hypervideo_dl/extractor/sevenplus.py | 48 +- hypervideo_dl/extractor/seznamzpravy.py | 4 +- hypervideo_dl/extractor/shahid.py | 6 +- hypervideo_dl/extractor/shemaroome.py | 104 + hypervideo_dl/extractor/simplecast.py | 2 +- hypervideo_dl/extractor/sina.py | 9 +- hypervideo_dl/extractor/sixplay.py | 8 +- hypervideo_dl/extractor/skynewsau.py | 46 + hypervideo_dl/extractor/slideshare.py | 3 +- hypervideo_dl/extractor/snotr.py | 3 +- hypervideo_dl/extractor/sohu.py | 4 +- hypervideo_dl/extractor/sonyliv.py | 72 +- hypervideo_dl/extractor/soundcloud.py | 279 +- hypervideo_dl/extractor/soundgasm.py | 2 +- hypervideo_dl/extractor/southpark.py | 64 +- hypervideo_dl/extractor/sovietscloset.py | 221 ++ hypervideo_dl/extractor/spankbang.py | 32 +- hypervideo_dl/extractor/spankwire.py | 2 +- hypervideo_dl/extractor/spiegeltv.py | 17 + hypervideo_dl/extractor/sport5.py | 3 +- hypervideo_dl/extractor/sportdeutschland.py | 11 +- hypervideo_dl/extractor/springboardplatform.py | 2 +- hypervideo_dl/extractor/srgssr.py | 19 +- hypervideo_dl/extractor/stanfordoc.py | 2 +- hypervideo_dl/extractor/startv.py | 103 + hypervideo_dl/extractor/steam.py | 4 +- hypervideo_dl/extractor/streamable.py | 8 +- hypervideo_dl/extractor/streamanity.py | 51 + hypervideo_dl/extractor/streamcloud.py | 4 +- hypervideo_dl/extractor/stv.py | 3 +- hypervideo_dl/extractor/svt.py | 10 +- hypervideo_dl/extractor/tagesschau.py | 4 +- hypervideo_dl/extractor/tastytrade.py | 43 + hypervideo_dl/extractor/tbs.py | 11 +- hypervideo_dl/extractor/teachable.py | 4 +- hypervideo_dl/extractor/teachertube.py | 2 +- hypervideo_dl/extractor/techtalks.py | 2 +- hypervideo_dl/extractor/tele13.py | 2 +- hypervideo_dl/extractor/tele5.py | 4 +- hypervideo_dl/extractor/telemb.py | 4 +- hypervideo_dl/extractor/telemundo.py | 58 + hypervideo_dl/extractor/tennistv.py | 10 +- hypervideo_dl/extractor/tenplay.py | 88 +- hypervideo_dl/extractor/testurl.py | 2 +- hypervideo_dl/extractor/tf1.py | 3 +- hypervideo_dl/extractor/theplatform.py | 13 +- hypervideo_dl/extractor/theta.py | 87 + hypervideo_dl/extractor/theweatherchannel.py | 3 +- hypervideo_dl/extractor/thisav.py | 3 +- hypervideo_dl/extractor/threeqsdn.py | 24 +- hypervideo_dl/extractor/tiktok.py | 602 +++- hypervideo_dl/extractor/tinypic.py | 2 +- hypervideo_dl/extractor/tmz.py | 240 +- hypervideo_dl/extractor/tnaflix.py | 2 +- hypervideo_dl/extractor/toggle.py | 10 +- hypervideo_dl/extractor/tokentube.py | 152 + hypervideo_dl/extractor/toongoggles.py | 3 +- hypervideo_dl/extractor/toutv.py | 2 +- hypervideo_dl/extractor/traileraddict.py | 2 +- hypervideo_dl/extractor/trovo.py | 73 +- hypervideo_dl/extractor/trutv.py | 3 +- hypervideo_dl/extractor/tubitv.py | 43 +- hypervideo_dl/extractor/tumblr.py | 3 +- hypervideo_dl/extractor/turbo.py | 2 +- hypervideo_dl/extractor/turner.py | 7 +- hypervideo_dl/extractor/tv2.py | 136 +- hypervideo_dl/extractor/tv2hu.py | 132 +- hypervideo_dl/extractor/tv4.py | 31 +- hypervideo_dl/extractor/tv5mondeplus.py | 40 +- hypervideo_dl/extractor/tv5unis.py | 3 +- hypervideo_dl/extractor/tver.py | 3 +- hypervideo_dl/extractor/tvigle.py | 3 +- hypervideo_dl/extractor/tvland.py | 7 +- hypervideo_dl/extractor/tvnow.py | 172 +- hypervideo_dl/extractor/tvp.py | 2 +- hypervideo_dl/extractor/tvplay.py | 48 +- hypervideo_dl/extractor/twentyfourvideo.py | 3 +- hypervideo_dl/extractor/twentythreevideo.py | 3 +- hypervideo_dl/extractor/twitcasting.py | 111 +- hypervideo_dl/extractor/twitch.py | 10 +- hypervideo_dl/extractor/twitter.py | 46 +- hypervideo_dl/extractor/udemy.py | 2 +- hypervideo_dl/extractor/ukcolumn.py | 72 + hypervideo_dl/extractor/umg.py | 10 +- hypervideo_dl/extractor/unistra.py | 2 +- hypervideo_dl/extractor/uol.py | 1 - hypervideo_dl/extractor/uplynk.py | 5 +- hypervideo_dl/extractor/urort.py | 2 +- hypervideo_dl/extractor/urplay.py | 17 +- hypervideo_dl/extractor/usanetwork.py | 2 +- hypervideo_dl/extractor/ustream.py | 4 +- hypervideo_dl/extractor/ustudio.py | 5 +- hypervideo_dl/extractor/utreon.py | 85 + hypervideo_dl/extractor/varzesh3.py | 7 +- hypervideo_dl/extractor/veo.py | 74 + hypervideo_dl/extractor/vesti.py | 2 +- hypervideo_dl/extractor/vevo.py | 140 +- hypervideo_dl/extractor/vgtv.py | 2 +- hypervideo_dl/extractor/vh1.py | 27 +- hypervideo_dl/extractor/vice.py | 6 +- hypervideo_dl/extractor/viddler.py | 3 +- hypervideo_dl/extractor/videa.py | 54 +- hypervideo_dl/extractor/videomore.py | 12 +- hypervideo_dl/extractor/vidio.py | 234 +- hypervideo_dl/extractor/vidzi.py | 68 + hypervideo_dl/extractor/vier.py | 4 +- hypervideo_dl/extractor/viewlift.py | 6 +- hypervideo_dl/extractor/viidea.py | 2 +- hypervideo_dl/extractor/viki.py | 328 +- hypervideo_dl/extractor/vimeo.py | 368 +- hypervideo_dl/extractor/vine.py | 4 +- hypervideo_dl/extractor/viu.py | 151 +- hypervideo_dl/extractor/vk.py | 4 +- hypervideo_dl/extractor/vlive.py | 77 +- hypervideo_dl/extractor/voicy.py | 147 + hypervideo_dl/extractor/voot.py | 58 +- hypervideo_dl/extractor/vrt.py | 11 +- hypervideo_dl/extractor/vrv.py | 3 +- hypervideo_dl/extractor/vube.py | 10 +- hypervideo_dl/extractor/vupload.py | 51 + hypervideo_dl/extractor/vvvvid.py | 4 +- hypervideo_dl/extractor/vzaar.py | 2 +- hypervideo_dl/extractor/wakanim.py | 14 +- hypervideo_dl/extractor/walla.py | 2 +- hypervideo_dl/extractor/wat.py | 16 +- hypervideo_dl/extractor/watchbox.py | 3 +- hypervideo_dl/extractor/watchindianporn.py | 2 +- hypervideo_dl/extractor/wdr.py | 17 +- hypervideo_dl/extractor/whowatch.py | 99 + hypervideo_dl/extractor/wimtv.py | 163 + hypervideo_dl/extractor/wistia.py | 2 +- hypervideo_dl/extractor/xboxclips.py | 7 +- hypervideo_dl/extractor/xfileshare.py | 2 +- hypervideo_dl/extractor/xhamster.py | 9 +- hypervideo_dl/extractor/ximalaya.py | 2 +- hypervideo_dl/extractor/xnxx.py | 2 +- hypervideo_dl/extractor/xstream.py | 4 +- hypervideo_dl/extractor/xtube.py | 18 +- hypervideo_dl/extractor/xxxymovies.py | 3 +- hypervideo_dl/extractor/yahoo.py | 63 +- hypervideo_dl/extractor/yandexdisk.py | 3 +- hypervideo_dl/extractor/yandexmusic.py | 13 +- hypervideo_dl/extractor/yandexvideo.py | 88 + hypervideo_dl/extractor/youjizz.py | 3 +- hypervideo_dl/extractor/youku.py | 2 +- hypervideo_dl/extractor/youporn.py | 2 +- hypervideo_dl/extractor/youtube.py | 3668 ++++++++++++++------ hypervideo_dl/extractor/zapiks.py | 2 +- hypervideo_dl/extractor/zaq1.py | 101 + hypervideo_dl/extractor/zattoo.py | 6 +- hypervideo_dl/extractor/zdf.py | 42 +- hypervideo_dl/extractor/zee5.py | 244 ++ hypervideo_dl/extractor/zingmp3.py | 5 +- hypervideo_dl/extractor/zoom.py | 15 +- hypervideo_dl/extractor/zype.py | 7 +- 507 files changed, 24760 insertions(+), 6281 deletions(-) create mode 100644 hypervideo_dl/extractor/alura.py create mode 100644 hypervideo_dl/extractor/animelab.py create mode 100644 hypervideo_dl/extractor/anvato_token_generator/__init__.py create mode 100644 hypervideo_dl/extractor/anvato_token_generator/common.py create mode 100644 hypervideo_dl/extractor/anvato_token_generator/nfl.py create mode 100644 hypervideo_dl/extractor/audius.py create mode 100644 hypervideo_dl/extractor/bannedvideo.py create mode 100644 hypervideo_dl/extractor/bitwave.py create mode 100644 hypervideo_dl/extractor/blackboardcollaborate.py create mode 100644 hypervideo_dl/extractor/blinkx.py create mode 100644 hypervideo_dl/extractor/cam4.py create mode 100644 hypervideo_dl/extractor/cgtn.py create mode 100644 hypervideo_dl/extractor/chingari.py create mode 100644 hypervideo_dl/extractor/ciscowebex.py create mode 100644 hypervideo_dl/extractor/damtomo.py create mode 100644 hypervideo_dl/extractor/discoveryplusindia.py create mode 100644 hypervideo_dl/extractor/doodstream.py create mode 100644 hypervideo_dl/extractor/duboku.py create mode 100644 hypervideo_dl/extractor/elonet.py create mode 100644 hypervideo_dl/extractor/epicon.py create mode 100644 hypervideo_dl/extractor/euscreen.py create mode 100644 hypervideo_dl/extractor/everyonesmixtape.py create mode 100644 hypervideo_dl/extractor/fancode.py create mode 100644 hypervideo_dl/extractor/filmmodu.py create mode 100644 hypervideo_dl/extractor/fxnetworks.py create mode 100644 hypervideo_dl/extractor/gab.py create mode 100644 hypervideo_dl/extractor/gettr.py create mode 100644 hypervideo_dl/extractor/gopro.py create mode 100644 hypervideo_dl/extractor/gotostage.py create mode 100644 hypervideo_dl/extractor/gronkh.py create mode 100644 hypervideo_dl/extractor/hrfensehen.py create mode 100644 hypervideo_dl/extractor/ichinanalive.py create mode 100644 hypervideo_dl/extractor/kanalplay.py create mode 100644 hypervideo_dl/extractor/koo.py create mode 100644 hypervideo_dl/extractor/magentamusik360.py create mode 100644 hypervideo_dl/extractor/manoto.py create mode 100644 hypervideo_dl/extractor/mediaite.py create mode 100644 hypervideo_dl/extractor/mediaklikk.py create mode 100644 hypervideo_dl/extractor/mildom.py create mode 100644 hypervideo_dl/extractor/mirrativ.py create mode 100644 hypervideo_dl/extractor/musescore.py create mode 100644 hypervideo_dl/extractor/mxplayer.py create mode 100644 hypervideo_dl/extractor/myvideoge.py create mode 100644 hypervideo_dl/extractor/n1.py create mode 100644 hypervideo_dl/extractor/nebula.py create mode 100644 hypervideo_dl/extractor/nfhsnetwork.py create mode 100644 hypervideo_dl/extractor/nitter.py create mode 100644 hypervideo_dl/extractor/noco.py create mode 100644 hypervideo_dl/extractor/novaplay.py create mode 100644 hypervideo_dl/extractor/nzherald.py create mode 100644 hypervideo_dl/extractor/olympics.py create mode 100644 hypervideo_dl/extractor/on24.py create mode 100644 hypervideo_dl/extractor/openrec.py create mode 100644 hypervideo_dl/extractor/paramountplus.py create mode 100644 hypervideo_dl/extractor/parlview.py create mode 100644 hypervideo_dl/extractor/peloton.py create mode 100644 hypervideo_dl/extractor/plutotv.py create mode 100644 hypervideo_dl/extractor/pornflip.py create mode 100644 hypervideo_dl/extractor/projectveritas.py create mode 100644 hypervideo_dl/extractor/radiko.py create mode 100644 hypervideo_dl/extractor/radlive.py create mode 100644 hypervideo_dl/extractor/rcs.py create mode 100644 hypervideo_dl/extractor/rcti.py create mode 100644 hypervideo_dl/extractor/saitosan.py create mode 100644 hypervideo_dl/extractor/shemaroome.py create mode 100644 hypervideo_dl/extractor/skynewsau.py create mode 100644 hypervideo_dl/extractor/sovietscloset.py create mode 100644 hypervideo_dl/extractor/spiegeltv.py create mode 100644 hypervideo_dl/extractor/startv.py create mode 100644 hypervideo_dl/extractor/streamanity.py create mode 100644 hypervideo_dl/extractor/tastytrade.py create mode 100644 hypervideo_dl/extractor/telemundo.py create mode 100644 hypervideo_dl/extractor/theta.py create mode 100644 hypervideo_dl/extractor/tokentube.py create mode 100644 hypervideo_dl/extractor/ukcolumn.py create mode 100644 hypervideo_dl/extractor/utreon.py create mode 100644 hypervideo_dl/extractor/veo.py create mode 100644 hypervideo_dl/extractor/vidzi.py create mode 100644 hypervideo_dl/extractor/voicy.py create mode 100644 hypervideo_dl/extractor/vupload.py create mode 100644 hypervideo_dl/extractor/whowatch.py create mode 100644 hypervideo_dl/extractor/wimtv.py create mode 100644 hypervideo_dl/extractor/zaq1.py create mode 100644 hypervideo_dl/extractor/zee5.py (limited to 'hypervideo_dl/extractor') diff --git a/hypervideo_dl/extractor/__init__.py b/hypervideo_dl/extractor/__init__.py index 18d8dbc..198c4ae 100644 --- a/hypervideo_dl/extractor/__init__.py +++ b/hypervideo_dl/extractor/__init__.py @@ -1,13 +1,17 @@ from __future__ import unicode_literals +from ..utils import load_plugins + try: from .lazy_extractors import * from .lazy_extractors import _ALL_CLASSES _LAZY_LOADER = True + _PLUGIN_CLASSES = {} except ImportError: _LAZY_LOADER = False - from .extractors import * +if not _LAZY_LOADER: + from .extractors import * _ALL_CLASSES = [ klass for name, klass in globals().items() @@ -15,6 +19,9 @@ except ImportError: ] _ALL_CLASSES.append(GenericIE) + _PLUGIN_CLASSES = load_plugins('extractor', 'IE', globals()) + _ALL_CLASSES = list(_PLUGIN_CLASSES.values()) + _ALL_CLASSES + def gen_extractor_classes(): """ Return a list of supported extractors. diff --git a/hypervideo_dl/extractor/abc.py b/hypervideo_dl/extractor/abc.py index 6637f4f..3e20216 100644 --- a/hypervideo_dl/extractor/abc.py +++ b/hypervideo_dl/extractor/abc.py @@ -12,6 +12,7 @@ from ..utils import ( js_to_json, int_or_none, parse_iso8601, + str_or_none, try_get, unescapeHTML, update_url_query, @@ -20,7 +21,7 @@ from ..utils import ( class ABCIE(InfoExtractor): IE_NAME = 'abc.net.au' - _VALID_URL = r'https?://(?:www\.)?abc\.net\.au/news/(?:[^/]+/){1,2}(?P\d+)' + _VALID_URL = r'https?://(?:www\.)?abc\.net\.au/(?:news|btn)/(?:[^/]+/){1,4}(?P\d{5,})' _TESTS = [{ 'url': 'http://www.abc.net.au/news/2014-11-05/australia-to-staff-ebola-treatment-centre-in-sierra-leone/5868334', @@ -34,7 +35,7 @@ class ABCIE(InfoExtractor): 'skip': 'this video has expired', }, { 'url': 'http://www.abc.net.au/news/2015-08-17/warren-entsch-introduces-same-sex-marriage-bill/6702326', - 'md5': 'db2a5369238b51f9811ad815b69dc086', + 'md5': '4ebd61bdc82d9a8b722f64f1f4b4d121', 'info_dict': { 'id': 'NvqvPeNZsHU', 'ext': 'mp4', @@ -58,39 +59,102 @@ class ABCIE(InfoExtractor): }, { 'url': 'http://www.abc.net.au/news/2015-10-19/6866214', 'only_matching': True, + }, { + 'url': 'https://www.abc.net.au/btn/classroom/wwi-centenary/10527914', + 'info_dict': { + 'id': '10527914', + 'ext': 'mp4', + 'title': 'WWI Centenary', + 'description': 'md5:c2379ec0ca84072e86b446e536954546', + } + }, { + 'url': 'https://www.abc.net.au/news/programs/the-world/2020-06-10/black-lives-matter-protests-spawn-support-for/12342074', + 'info_dict': { + 'id': '12342074', + 'ext': 'mp4', + 'title': 'Black Lives Matter protests spawn support for Papuans in Indonesia', + 'description': 'md5:2961a17dc53abc558589ccd0fb8edd6f', + } + }, { + 'url': 'https://www.abc.net.au/btn/newsbreak/btn-newsbreak-20200814/12560476', + 'info_dict': { + 'id': 'tDL8Ld4dK_8', + 'ext': 'mp4', + 'title': 'Fortnite Banned From Apple and Google App Stores', + 'description': 'md5:a6df3f36ce8f816b74af4bd6462f5651', + 'upload_date': '20200813', + 'uploader': 'Behind the News', + 'uploader_id': 'behindthenews', + } }] def _real_extract(self, url): video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) - mobj = re.search( - r'inline(?PVideo|Audio|YouTube)Data\.push\((?P[^)]+)\);', - webpage) + mobj = re.search(r'[^"]+)"\s+data-duration="\d+"\s+title="Download audio directly">', webpage) + if mobj: + urls_info = mobj.groupdict() + youtube = False + video = False + else: + mobj = re.search(r'External Link:', + webpage) + if mobj is None: + mobj = re.search(r'