|  | @@ -8,30 +8,8 @@ from ..utils import (
 | 
	
		
			
				|  |  |  )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -class NYTimesIE(InfoExtractor):
 | 
	
		
			
				|  |  | -    _VALID_URL = r'https?://(?:(?:www\.)?nytimes\.com/video/(?:[^/]+/)+?|graphics8\.nytimes\.com/bcvideo/\d+(?:\.\d+)?/iframe/embed\.html\?videoId=)(?P<id>\d+)'
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    _TESTS = [{
 | 
	
		
			
				|  |  | -        'url': 'http://www.nytimes.com/video/opinion/100000002847155/verbatim-what-is-a-photocopier.html?playlistId=100000001150263',
 | 
	
		
			
				|  |  | -        'md5': '18a525a510f942ada2720db5f31644c0',
 | 
	
		
			
				|  |  | -        'info_dict': {
 | 
	
		
			
				|  |  | -            'id': '100000002847155',
 | 
	
		
			
				|  |  | -            'ext': 'mov',
 | 
	
		
			
				|  |  | -            'title': 'Verbatim: What Is a Photocopier?',
 | 
	
		
			
				|  |  | -            'description': 'md5:93603dada88ddbda9395632fdc5da260',
 | 
	
		
			
				|  |  | -            'timestamp': 1398631707,
 | 
	
		
			
				|  |  | -            'upload_date': '20140427',
 | 
	
		
			
				|  |  | -            'uploader': 'Brett Weiner',
 | 
	
		
			
				|  |  | -            'duration': 419,
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -    }, {
 | 
	
		
			
				|  |  | -        'url': 'http://www.nytimes.com/video/travel/100000003550828/36-hours-in-dubai.html',
 | 
	
		
			
				|  |  | -        'only_matching': True,
 | 
	
		
			
				|  |  | -    }]
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    def _real_extract(self, url):
 | 
	
		
			
				|  |  | -        video_id = self._match_id(url)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +class NYTimesBaseIE(InfoExtractor):
 | 
	
		
			
				|  |  | +    def _extract_video_from_id(self, video_id):
 | 
	
		
			
				|  |  |          video_data = self._download_json(
 | 
	
		
			
				|  |  |              'http://www.nytimes.com/svc/video/api/v2/video/%s' % video_id,
 | 
	
		
			
				|  |  |              video_id, 'Downloading video JSON')
 | 
	
	
		
			
				|  | @@ -81,3 +59,56 @@ class NYTimesIE(InfoExtractor):
 | 
	
		
			
				|  |  |              'formats': formats,
 | 
	
		
			
				|  |  |              'thumbnails': thumbnails,
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class NYTimesIE(NYTimesBaseIE):
 | 
	
		
			
				|  |  | +    _VALID_URL = r'https?://(?:(?:www\.)?nytimes\.com/video/(?:[^/]+/)+?|graphics8\.nytimes\.com/bcvideo/\d+(?:\.\d+)?/iframe/embed\.html\?videoId=)(?P<id>\d+)'
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    _TESTS = [{
 | 
	
		
			
				|  |  | +        'url': 'http://www.nytimes.com/video/opinion/100000002847155/verbatim-what-is-a-photocopier.html?playlistId=100000001150263',
 | 
	
		
			
				|  |  | +        'md5': '18a525a510f942ada2720db5f31644c0',
 | 
	
		
			
				|  |  | +        'info_dict': {
 | 
	
		
			
				|  |  | +            'id': '100000002847155',
 | 
	
		
			
				|  |  | +            'ext': 'mov',
 | 
	
		
			
				|  |  | +            'title': 'Verbatim: What Is a Photocopier?',
 | 
	
		
			
				|  |  | +            'description': 'md5:93603dada88ddbda9395632fdc5da260',
 | 
	
		
			
				|  |  | +            'timestamp': 1398631707,
 | 
	
		
			
				|  |  | +            'upload_date': '20140427',
 | 
	
		
			
				|  |  | +            'uploader': 'Brett Weiner',
 | 
	
		
			
				|  |  | +            'duration': 419,
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }, {
 | 
	
		
			
				|  |  | +        'url': 'http://www.nytimes.com/video/travel/100000003550828/36-hours-in-dubai.html',
 | 
	
		
			
				|  |  | +        'only_matching': True,
 | 
	
		
			
				|  |  | +    }]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def _real_extract(self, url):
 | 
	
		
			
				|  |  | +        video_id = self._match_id(url)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return self._extract_video_from_id(video_id)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +class NYTimesArticleIE(NYTimesBaseIE):
 | 
	
		
			
				|  |  | +    _VALID_URL = r'https?://(?:www)?\.nytimes\.com/\d{4}/\d{2}/\d{2}/(?:[^/]+/)*(?P<id>[^.]+)\.html'
 | 
	
		
			
				|  |  | +    _TEST = {
 | 
	
		
			
				|  |  | +        'url': 'http://www.nytimes.com/2015/04/14/business/owner-of-gravity-payments-a-credit-card-processor-is-setting-a-new-minimum-wage-70000-a-year.html?_r=0',
 | 
	
		
			
				|  |  | +        'md5': 'e2076d58b4da18e6a001d53fd56db3c9',
 | 
	
		
			
				|  |  | +        'info_dict': {
 | 
	
		
			
				|  |  | +            'id': '100000003628438',
 | 
	
		
			
				|  |  | +            'ext': 'mov',
 | 
	
		
			
				|  |  | +            'title': 'New Minimum Wage: $70,000 a Year',
 | 
	
		
			
				|  |  | +            'description': 'Dan Price, C.E.O. of Gravity Payments, surprised his 120-person staff by announcing that he planned over the next three years to raise the salary of every employee to $70,000 a year.',
 | 
	
		
			
				|  |  | +            'timestamp': 1429033037,
 | 
	
		
			
				|  |  | +            'upload_date': '20150414',
 | 
	
		
			
				|  |  | +            'uploader': 'Matthew Williams',
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def _real_extract(self, url):
 | 
	
		
			
				|  |  | +        video_id = self._match_id(url)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        webpage = self._download_webpage(url, video_id)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        video_id = self._html_search_regex(r'data-videoid="(\d+)"', webpage, 'video id')
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return self._extract_video_from_id(video_id)
 |