[platzi:course] Add support for authentication
This commit is contained in:
		| @@ -18,43 +18,10 @@ from ..utils import ( | ||||
| ) | ||||
|  | ||||
|  | ||||
| class PlatziIE(InfoExtractor): | ||||
|     _VALID_URL = r'''(?x) | ||||
|                     https?:// | ||||
|                         (?: | ||||
|                             platzi\.com/clases|           # es version | ||||
|                             courses\.platzi\.com/classes  # en version | ||||
|                         )/[^/]+/(?P<id>\d+)-[^/?\#&]+ | ||||
|                     ''' | ||||
| class PlatziBaseIE(InfoExtractor): | ||||
|     _LOGIN_URL = 'https://platzi.com/login/' | ||||
|     _NETRC_MACHINE = 'platzi' | ||||
|  | ||||
|     _TESTS = [{ | ||||
|         'url': 'https://platzi.com/clases/1311-next-js/12074-creando-nuestra-primera-pagina/', | ||||
|         'md5': '8f56448241005b561c10f11a595b37e3', | ||||
|         'info_dict': { | ||||
|             'id': '12074', | ||||
|             'ext': 'mp4', | ||||
|             'title': 'Creando nuestra primera página', | ||||
|             'description': 'md5:4c866e45034fc76412fbf6e60ae008bc', | ||||
|             'duration': 420, | ||||
|         }, | ||||
|         'skip': 'Requires platzi account credentials', | ||||
|     }, { | ||||
|         'url': 'https://courses.platzi.com/classes/1367-communication-codestream/13430-background/', | ||||
|         'info_dict': { | ||||
|             'id': '13430', | ||||
|             'ext': 'mp4', | ||||
|             'title': 'Background', | ||||
|             'description': 'md5:49c83c09404b15e6e71defaf87f6b305', | ||||
|             'duration': 360, | ||||
|         }, | ||||
|         'skip': 'Requires platzi account credentials', | ||||
|         'params': { | ||||
|             'skip_download': True, | ||||
|         }, | ||||
|     }] | ||||
|  | ||||
|     def _real_initialize(self): | ||||
|         self._login() | ||||
|  | ||||
| @@ -97,6 +64,42 @@ class PlatziIE(InfoExtractor): | ||||
|                     'Unable to login: %s' % error, expected=True) | ||||
|         raise ExtractorError('Unable to log in') | ||||
|  | ||||
|  | ||||
| class PlatziIE(PlatziBaseIE): | ||||
|     _VALID_URL = r'''(?x) | ||||
|                     https?:// | ||||
|                         (?: | ||||
|                             platzi\.com/clases|           # es version | ||||
|                             courses\.platzi\.com/classes  # en version | ||||
|                         )/[^/]+/(?P<id>\d+)-[^/?\#&]+ | ||||
|                     ''' | ||||
|  | ||||
|     _TESTS = [{ | ||||
|         'url': 'https://platzi.com/clases/1311-next-js/12074-creando-nuestra-primera-pagina/', | ||||
|         'md5': '8f56448241005b561c10f11a595b37e3', | ||||
|         'info_dict': { | ||||
|             'id': '12074', | ||||
|             'ext': 'mp4', | ||||
|             'title': 'Creando nuestra primera página', | ||||
|             'description': 'md5:4c866e45034fc76412fbf6e60ae008bc', | ||||
|             'duration': 420, | ||||
|         }, | ||||
|         'skip': 'Requires platzi account credentials', | ||||
|     }, { | ||||
|         'url': 'https://courses.platzi.com/classes/1367-communication-codestream/13430-background/', | ||||
|         'info_dict': { | ||||
|             'id': '13430', | ||||
|             'ext': 'mp4', | ||||
|             'title': 'Background', | ||||
|             'description': 'md5:49c83c09404b15e6e71defaf87f6b305', | ||||
|             'duration': 360, | ||||
|         }, | ||||
|         'skip': 'Requires platzi account credentials', | ||||
|         'params': { | ||||
|             'skip_download': True, | ||||
|         }, | ||||
|     }] | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         lecture_id = self._match_id(url) | ||||
|  | ||||
| @@ -146,7 +149,7 @@ class PlatziIE(InfoExtractor): | ||||
|         } | ||||
|  | ||||
|  | ||||
| class PlatziCourseIE(InfoExtractor): | ||||
| class PlatziCourseIE(PlatziBaseIE): | ||||
|     _VALID_URL = r'''(?x) | ||||
|                     https?:// | ||||
|                         (?: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․