You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

194 lines
4.5 KiB

12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
  1. import base64
  2. import datetime
  3. import itertools
  4. import netrc
  5. import os
  6. import re
  7. import socket
  8. import time
  9. import email.utils
  10. import xml.etree.ElementTree
  11. import random
  12. import math
  13. import operator
  14. import hashlib
  15. import binascii
  16. import urllib
  17. from .utils import *
  18. from .extractor.common import InfoExtractor, SearchInfoExtractor
  19. from .extractor.ard import ARDIE
  20. from .extractor.arte import ArteTvIE
  21. from .extractor.bandcamp import BandcampIE
  22. from .extractor.bliptv import BlipTVIE, BlipTVUserIE
  23. from .extractor.comedycentral import ComedyCentralIE
  24. from .extractor.collegehumor import CollegeHumorIE
  25. from .extractor.dailymotion import DailymotionIE
  26. from .extractor.depositfiles import DepositFilesIE
  27. from .extractor.eighttracks import EightTracksIE
  28. from .extractor.escapist import EscapistIE
  29. from .extractor.facebook import FacebookIE
  30. from .extractor.flickr import FlickrIE
  31. from .extractor.funnyordie import FunnyOrDieIE
  32. from .extractor.gametrailers import GametrailersIE
  33. from .extractor.generic import GenericIE
  34. from .extractor.googleplus import GooglePlusIE
  35. from .extractor.googlesearch import GoogleSearchIE
  36. from .extractor.howcast import HowcastIE
  37. from .extractor.hypem import HypemIE
  38. from .extractor.ina import InaIE
  39. from .extractor.infoq import InfoQIE
  40. from .extractor.justintv import JustinTVIE
  41. from .extractor.keek import KeekIE
  42. from .extractor.liveleak import LiveLeakIE
  43. from .extractor.metacafe import MetacafeIE
  44. from .extractor.mixcloud import MixcloudIE
  45. from .extractor.mtv import MTVIE
  46. from .extractor.myspass import MySpassIE
  47. from .extractor.myvideo import MyVideoIE
  48. from .extractor.nba import NBAIE
  49. from .extractor.statigram import StatigramIE
  50. from .extractor.photobucket import PhotobucketIE
  51. from .extractor.pornotube import PornotubeIE
  52. from .extractor.rbmaradio import RBMARadioIE
  53. from .extractor.redtube import RedTubeIE
  54. from .extractor.soundcloud import SoundcloudIE, SoundcloudSetIE
  55. from .extractor.spiegel import SpiegelIE
  56. from .extractor.stanfordoc import StanfordOpenClassroomIE
  57. from .extractor.steam import SteamIE
  58. from .extractor.teamcoco import TeamcocoIE
  59. from .extractor.ted import TEDIE
  60. from .extractor.tumblr import TumblrIE
  61. from .extractor.ustream import UstreamIE
  62. from .extractor.vbox7 import Vbox7IE
  63. from .extractor.vimeo import VimeoIE
  64. from .extractor.vine import VineIE
  65. from .extractor.worldstarhiphop import WorldStarHipHopIE
  66. from .extractor.xnxx import XNXXIE
  67. from .extractor.xhamster import XHamsterIE
  68. from .extractor.xvideos import XVideosIE
  69. from .extractor.yahoo import YahooIE, YahooSearchIE
  70. from .extractor.youjizz import YouJizzIE
  71. from .extractor.youku import YoukuIE
  72. from .extractor.youporn import YouPornIE
  73. from .extractor.youtube import YoutubeIE, YoutubePlaylistIE, YoutubeSearchIE, YoutubeUserIE, YoutubeChannelIE
  74. from .extractor.zdf import ZDFIE
  75. def gen_extractors():
  76. """ Return a list of an instance of every supported extractor.
  77. The order does matter; the first extractor matched is the one handling the URL.
  78. """
  79. return [
  80. YoutubePlaylistIE(),
  81. YoutubeChannelIE(),
  82. YoutubeUserIE(),
  83. YoutubeSearchIE(),
  84. YoutubeIE(),
  85. MetacafeIE(),
  86. DailymotionIE(),
  87. GoogleSearchIE(),
  88. PhotobucketIE(),
  89. YahooIE(),
  90. YahooSearchIE(),
  91. DepositFilesIE(),
  92. FacebookIE(),
  93. BlipTVIE(),
  94. BlipTVUserIE(),
  95. VimeoIE(),
  96. MyVideoIE(),
  97. ComedyCentralIE(),
  98. EscapistIE(),
  99. CollegeHumorIE(),
  100. XVideosIE(),
  101. SoundcloudSetIE(),
  102. SoundcloudIE(),
  103. InfoQIE(),
  104. MixcloudIE(),
  105. StanfordOpenClassroomIE(),
  106. MTVIE(),
  107. YoukuIE(),
  108. XNXXIE(),
  109. YouJizzIE(),
  110. PornotubeIE(),
  111. YouPornIE(),
  112. GooglePlusIE(),
  113. ArteTvIE(),
  114. NBAIE(),
  115. WorldStarHipHopIE(),
  116. JustinTVIE(),
  117. FunnyOrDieIE(),
  118. SteamIE(),
  119. UstreamIE(),
  120. RBMARadioIE(),
  121. EightTracksIE(),
  122. KeekIE(),
  123. TEDIE(),
  124. MySpassIE(),
  125. SpiegelIE(),
  126. LiveLeakIE(),
  127. ARDIE(),
  128. ZDFIE(),
  129. TumblrIE(),
  130. BandcampIE(),
  131. RedTubeIE(),
  132. InaIE(),
  133. HowcastIE(),
  134. VineIE(),
  135. FlickrIE(),
  136. TeamcocoIE(),
  137. XHamsterIE(),
  138. HypemIE(),
  139. Vbox7IE(),
  140. GametrailersIE(),
  141. StatigramIE(),
  142. GenericIE()
  143. ]
  144. def get_info_extractor(ie_name):
  145. """Returns the info extractor class with the given ie_name"""
  146. return globals()[ie_name+'IE']