mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-03 23:37:08 -05:00 
			
		
		
		
	[udemy:course] Skip non-video lectures
This commit is contained in:
		@@ -193,12 +193,12 @@ class UdemyIE(InfoExtractor):
 | 
			
		||||
 | 
			
		||||
        asset = lecture['asset']
 | 
			
		||||
 | 
			
		||||
        asset_type = asset.get('assetType') or asset.get('asset_type')
 | 
			
		||||
        asset_type = asset.get('asset_type') or asset.get('assetType')
 | 
			
		||||
        if asset_type != 'Video':
 | 
			
		||||
            raise ExtractorError(
 | 
			
		||||
                'Lecture %s is not a video' % lecture_id, expected=True)
 | 
			
		||||
 | 
			
		||||
        stream_url = asset.get('streamUrl') or asset.get('stream_url')
 | 
			
		||||
        stream_url = asset.get('stream_url') or asset.get('streamUrl')
 | 
			
		||||
        if stream_url:
 | 
			
		||||
            youtube_url = self._search_regex(
 | 
			
		||||
                r'(https?://www\.youtube\.com/watch\?v=.*)', stream_url, 'youtube URL', default=None)
 | 
			
		||||
@@ -206,7 +206,7 @@ class UdemyIE(InfoExtractor):
 | 
			
		||||
                return self.url_result(youtube_url, 'Youtube')
 | 
			
		||||
 | 
			
		||||
        video_id = asset['id']
 | 
			
		||||
        thumbnail = asset.get('thumbnailUrl') or asset.get('thumbnail_url')
 | 
			
		||||
        thumbnail = asset.get('thumbnail_url') or asset.get('thumbnailUrl')
 | 
			
		||||
        duration = float_or_none(asset.get('data', {}).get('duration'))
 | 
			
		||||
 | 
			
		||||
        formats = []
 | 
			
		||||
@@ -325,7 +325,7 @@ class UdemyCourseIE(UdemyIE):
 | 
			
		||||
            'https://www.udemy.com/api-2.0/courses/%s/cached-subscriber-curriculum-items' % course_id,
 | 
			
		||||
            course_id, 'Downloading course curriculum', query={
 | 
			
		||||
                'fields[chapter]': 'title,object_index',
 | 
			
		||||
                'fields[lecture]': 'title',
 | 
			
		||||
                'fields[lecture]': 'title,asset',
 | 
			
		||||
                'page_size': '1000',
 | 
			
		||||
            })
 | 
			
		||||
 | 
			
		||||
@@ -334,6 +334,11 @@ class UdemyCourseIE(UdemyIE):
 | 
			
		||||
        for entry in response['results']:
 | 
			
		||||
            clazz = entry.get('_class')
 | 
			
		||||
            if clazz == 'lecture':
 | 
			
		||||
                asset = entry.get('asset')
 | 
			
		||||
                if isinstance(asset, dict):
 | 
			
		||||
                    asset_type = asset.get('asset_type') or asset.get('assetType')
 | 
			
		||||
                    if asset_type != 'Video':
 | 
			
		||||
                        continue
 | 
			
		||||
                lecture_id = entry.get('id')
 | 
			
		||||
                if lecture_id:
 | 
			
		||||
                    entry = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user