Ver código fonte

Make sure netrc works for all extractors with login support

Fixes #5112
tags/2015.03.03.1
Philipp Hagemeister 9 anos atrás
pai
commit
499bfcbfd0
6 arquivos alterados com 31 adições e 0 exclusões
  1. +26
    -0
      test/test_netrc.py
  2. +1
    -0
      youtube_dl/extractor/atresplayer.py
  3. +1
    -0
      youtube_dl/extractor/crunchyroll.py
  4. +1
    -0
      youtube_dl/extractor/gdcvault.py
  5. +1
    -0
      youtube_dl/extractor/lynda.py
  6. +1
    -0
      youtube_dl/extractor/twitch.py

+ 26
- 0
test/test_netrc.py Ver arquivo

@@ -0,0 +1,26 @@
# coding: utf-8
from __future__ import unicode_literals

import os
import sys
import unittest
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))


from youtube_dl.extractor import (
gen_extractors,
)


class TestNetRc(unittest.TestCase):
def test_netrc_present(self):
for ie in gen_extractors():
if not hasattr(ie, '_login'):
continue
self.assertTrue(
hasattr(ie, '_NETRC_MACHINE'),
'Extractor %s supports login, but is missing a _NETRC_MACHINE property' % ie.IE_NAME)


if __name__ == '__main__':
unittest.main()

+ 1
- 0
youtube_dl/extractor/atresplayer.py Ver arquivo

@@ -19,6 +19,7 @@ from ..utils import (

class AtresPlayerIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?atresplayer\.com/television/[^/]+/[^/]+/[^/]+/(?P<id>.+?)_\d+\.html'
_NETRC_MACHINE = 'atresplayer'
_TESTS = [
{
'url': 'http://www.atresplayer.com/television/programas/el-club-de-la-comedia/temporada-4/capitulo-10-especial-solidario-nochebuena_2014122100174.html',


+ 1
- 0
youtube_dl/extractor/crunchyroll.py Ver arquivo

@@ -29,6 +29,7 @@ from ..aes import (

class CrunchyrollIE(InfoExtractor):
_VALID_URL = r'https?://(?:(?P<prefix>www|m)\.)?(?P<url>crunchyroll\.(?:com|fr)/(?:[^/]*/[^/?&]*?|media/\?id=)(?P<video_id>[0-9]+))(?:[/?&]|$)'
_NETRC_MACHINE = 'crunchyroll'
_TESTS = [{
'url': 'http://www.crunchyroll.com/wanna-be-the-strongest-in-the-world/episode-1-an-idol-wrestler-is-born-645513',
'info_dict': {


+ 1
- 0
youtube_dl/extractor/gdcvault.py Ver arquivo

@@ -12,6 +12,7 @@ from ..utils import remove_end

class GDCVaultIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?gdcvault\.com/play/(?P<id>\d+)/(?P<name>(\w|-)+)'
_NETRC_MACHINE = 'gdcvault'
_TESTS = [
{
'url': 'http://www.gdcvault.com/play/1019721/Doki-Doki-Universe-Sweet-Simple',


+ 1
- 0
youtube_dl/extractor/lynda.py Ver arquivo

@@ -19,6 +19,7 @@ class LyndaBaseIE(InfoExtractor):
_LOGIN_URL = 'https://www.lynda.com/login/login.aspx'
_SUCCESSFUL_LOGIN_REGEX = r'isLoggedIn: true'
_ACCOUNT_CREDENTIALS_HINT = 'Use --username and --password options to provide lynda.com account credentials.'
_NETRC_MACHINE = 'lynda'

def _real_initialize(self):
self._login()


+ 1
- 0
youtube_dl/extractor/twitch.py Ver arquivo

@@ -23,6 +23,7 @@ class TwitchBaseIE(InfoExtractor):
_API_BASE = 'https://api.twitch.tv'
_USHER_BASE = 'http://usher.twitch.tv'
_LOGIN_URL = 'https://secure.twitch.tv/user/login'
_NETRC_MACHINE = 'twitch'

def _handle_error(self, response):
if not isinstance(response, dict):


Carregando…
Cancelar
Salvar