def stream_weight(cls, stream): match_3d = re.match(r"(\w+)_3d", stream) match_hfr = re.match(r"(\d+p)(\d+)", stream) if match_3d: weight, group = Plugin.stream_weight(match_3d.group(1)) weight -= 1 group = "youtube_3d" elif match_hfr: weight, group = Plugin.stream_weight(match_hfr.group(1)) weight += 1 group = "high_frame_rate" else: weight, group = Plugin.stream_weight(stream) return weight, group
def __init__(self, url): Plugin.__init__(self, url) self._hosted_chain = [] match = _url_re.match(url).groupdict() parsed = urlparse(url) self.params = parse_query(parsed.query) self.subdomain = match.get("subdomain") self.video_id = None self.video_type = None self._channel_id = None self._channel = None self.clip_name = None if self.subdomain == "player": # pop-out player if self.params.get("video"): try: self.video_type = self.params["video"][0] self.video_id = self.params["video"][1:] except IndexError: self.logger.debug("Invalid video param: {0}", self.params["video"]) self._channel = self.params.get("channel") elif self.subdomain == "clips": # clip share URL self.clip_name = match.get("channel") else: self._channel = match.get("channel") and match.get( "channel").lower() self.video_type = match.get("video_type") if match.get("videos_id"): self.video_type = "v" self.video_id = match.get("video_id") or match.get("videos_id") self.clip_name = match.get("clip_name") self.api = TwitchAPI(beta=self.subdomain == "beta", version=5) self.usher = UsherService()
def __init__(self, url): Plugin.__init__(self, url) self.zclient = ZTNRClient(self.secret_key) http.headers = {"User-Agent": useragents.SAFARI_8}
def stream_weight(cls, key): weight = cls.quality_weights.get(key) if weight: return weight, "filmon" return Plugin.stream_weight(key)
def stream_weight(cls, key): weight = STREAM_WEIGHTS.get(key) if weight: return weight, "crunchyroll" return Plugin.stream_weight(key)
def stream_weight(cls, key): weight = QUALITY_WEIGHTS.get(key) if weight: return weight, "twitch" return Plugin.stream_weight(key)
def stream_weight(cls, stream): if stream in STREAM_WEIGHTS: return STREAM_WEIGHTS[stream], "Bilibili" return Plugin.stream_weight(stream)
def stream_weight(cls, stream): if stream == "source": return 1080 + 1, "openrectv" return Plugin.stream_weight(stream)
def stream_weight(cls, stream): if stream in STREAM_WEIGHTS: return STREAM_WEIGHTS[stream], "douyutv" return Plugin.stream_weight(stream)
def __init__(self, url): Plugin.__init__(self, url) match = _url_re.match(url) self._stream = match and match.groupdict()["stream"]
def stream_weight(cls, key): weight = QUALITY_MAP.get(key) if weight: return weight, "beat" return Plugin.stream_weight(key)
def stream_weight(cls, key): weight = cls.QUALITY_WEIGHTS.get(key) if weight: return weight, "okru" return Plugin.stream_weight(key)
def __init__(self, url): Plugin.__init__(self, url) self._headers = {'Referer': self.url, 'User-Agent': useragents.FIREFOX} self._room_id = None self._stream_urls = None
def stream_weight(cls, stream): if stream in _quality_weights: return _quality_weights.get(stream), "quality" return Plugin.stream_weight(stream)
def stream_weight(cls, key): weight = QUALITY_WEIGHTS.get(key) if weight: return weight, "zdf_mediathek" return Plugin.stream_weight(key)