diff options
Diffstat (limited to 'youtube_dl/extractor/nytimes.py')
| -rw-r--r-- | youtube_dl/extractor/nytimes.py | 42 | 
1 files changed, 40 insertions, 2 deletions
diff --git a/youtube_dl/extractor/nytimes.py b/youtube_dl/extractor/nytimes.py index 2bb77ab24..976b1c694 100644 --- a/youtube_dl/extractor/nytimes.py +++ b/youtube_dl/extractor/nytimes.py @@ -69,10 +69,10 @@ class NYTimesBaseIE(InfoExtractor):                      'width': int_or_none(video.get('width')),                      'height': int_or_none(video.get('height')),                      'filesize': get_file_size(video.get('file_size') or video.get('fileSize')), -                    'tbr': int_or_none(video.get('bitrate'), 1000), +                    'tbr': int_or_none(video.get('bitrate'), 1000) or None,                      'ext': ext,                  }) -        self._sort_formats(formats) +        self._sort_formats(formats, ('height', 'width', 'filesize', 'tbr', 'fps', 'format_id'))          thumbnails = []          for image in video_data.get('images', []): @@ -221,3 +221,41 @@ class NYTimesArticleIE(NYTimesBaseIE):               r'NYTD\.FlexTypes\.push\s*\(\s*({.+})\s*\)\s*;'),              webpage, 'podcast data')          return self._extract_podcast_from_json(podcast_data, page_id, webpage) + + +class NYTimesCookingIE(NYTimesBaseIE): +    _VALID_URL = r'https?://cooking\.nytimes\.com/(?:guid|recip)es/(?P<id>\d+)' +    _TESTS = [{ +        'url': 'https://cooking.nytimes.com/recipes/1017817-cranberry-curd-tart', +        'md5': 'dab81fa2eaeb3f9ed47498bdcfcdc1d3', +        'info_dict': { +            'id': '100000004756089', +            'ext': 'mov', +            'timestamp': 1479383008, +            'uploader': 'By SHAW LASH, ADAM SAEWITZ and JAMES HERRON', +            'title': 'Cranberry Tart', +            'upload_date': '20161117', +            'description': 'If you are a fan of lemon curd or the classic French tarte au citron, you will love this cranberry version.', +        }, +    }, { +        'url': 'https://cooking.nytimes.com/guides/13-how-to-cook-a-turkey', +        'md5': '4b2e8c70530a89b8d905a2b572316eb8', +        'info_dict': { +            'id': '100000003951728', +            'ext': 'mov', +            'timestamp': 1445509539, +            'description': 'Turkey guide', +            'upload_date': '20151022', +            'title': 'Turkey', +        } +    }] + +    def _real_extract(self, url): +        page_id = self._match_id(url) + +        webpage = self._download_webpage(url, page_id) + +        video_id = self._search_regex( +            r'data-video-id=["\'](\d+)', webpage, 'video id') + +        return self._extract_video_from_id(video_id)  | 
