[pluralsight] Add support for alternative webpage layout (Closes #7607)
This commit is contained in:
		| @@ -104,19 +104,29 @@ class PluralsightIE(PluralsightBaseIE): | ||||
|  | ||||
|         webpage = self._download_webpage(url, display_id) | ||||
|  | ||||
|         collection = self._parse_json( | ||||
|             self._search_regex( | ||||
|                 r'moduleCollection\s*:\s*new\s+ModuleCollection\((\[.+?\])\s*,\s*\$rootScope\)', | ||||
|                 webpage, 'modules'), | ||||
|             display_id) | ||||
|         modules = self._search_regex( | ||||
|             r'moduleCollection\s*:\s*new\s+ModuleCollection\((\[.+?\])\s*,\s*\$rootScope\)', | ||||
|             webpage, 'modules', default=None) | ||||
|  | ||||
|         if modules: | ||||
|             collection = self._parse_json(modules, display_id) | ||||
|         else: | ||||
|             # Webpage may be served in different layout (see | ||||
|             # https://github.com/rg3/youtube-dl/issues/7607) | ||||
|             collection = self._parse_json( | ||||
|                 self._search_regex( | ||||
|                     r'var\s+initialState\s*=\s*({.+?});\n', webpage, 'initial state'), | ||||
|                 display_id)['course']['modules'] | ||||
|  | ||||
|         module, clip = None, None | ||||
|  | ||||
|         for module_ in collection: | ||||
|             if module_.get('moduleName') == name: | ||||
|             if name in (module_.get('moduleName'), module_.get('name')): | ||||
|                 module = module_ | ||||
|                 for clip_ in module_.get('clips', []): | ||||
|                     clip_index = clip_.get('clipIndex') | ||||
|                     if clip_index is None: | ||||
|                         clip_index = clip_.get('index') | ||||
|                     if clip_index is None: | ||||
|                         continue | ||||
|                     if compat_str(clip_index) == clip_id: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․