| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  | # coding: utf-8 | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from .common import InfoExtractor | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  | from ..utils import unified_strdate | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-28 08:59:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  | class DctpTvIE(InfoExtractor): | 
					
						
							| 
									
										
										
										
											2016-09-08 18:29:05 +07:00
										 |  |  |     _VALID_URL = r'https?://(?:www\.)?dctp\.tv/(#/)?filme/(?P<id>.+?)/$' | 
					
						
							| 
									
										
										
										
											2015-01-28 08:59:58 +01:00
										 |  |  |     _TEST = { | 
					
						
							|  |  |  |         'url': 'http://www.dctp.tv/filme/videoinstallation-fuer-eine-kaufhausfassade/', | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  |         'md5': '174dd4a8a6225cf5655952f969cfbe24', | 
					
						
							| 
									
										
										
										
											2015-01-28 08:59:58 +01:00
										 |  |  |         'info_dict': { | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  |             'id': '95eaa4f33dad413aa17b4ee613cccc6c', | 
					
						
							| 
									
										
										
										
											2015-01-30 00:35:53 +01:00
										 |  |  |             'display_id': 'videoinstallation-fuer-eine-kaufhausfassade', | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  |             'ext': 'mp4', | 
					
						
							|  |  |  |             'title': 'Videoinstallation für eine Kaufhausfassade', | 
					
						
							|  |  |  |             'description': 'Kurzfilm', | 
					
						
							|  |  |  |             'upload_date': '20110407', | 
					
						
							| 
									
										
										
										
											2017-01-02 20:08:07 +08:00
										 |  |  |             'thumbnail': r're:^https?://.*\.jpg$', | 
					
						
							| 
									
										
										
										
											2015-02-11 22:10:33 +06:00
										 |  |  |         }, | 
					
						
							| 
									
										
										
										
											2015-01-30 03:45:06 +01:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def _real_extract(self, url): | 
					
						
							|  |  |  |         video_id = self._match_id(url) | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  |         webpage = self._download_webpage(url, video_id) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         object_id = self._html_search_meta('DC.identifier', webpage) | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-30 03:15:34 +01:00
										 |  |  |         servers_json = self._download_json( | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  |             'http://www.dctp.tv/elastic_streaming_client/get_streaming_server/', | 
					
						
							| 
									
										
										
										
											2015-01-30 03:15:34 +01:00
										 |  |  |             video_id, note='Downloading server list') | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  |         server = servers_json[0]['server'] | 
					
						
							|  |  |  |         m3u8_path = self._search_regex( | 
					
						
							|  |  |  |             r'\'([^\'"]+/playlist\.m3u8)"', webpage, 'm3u8 path') | 
					
						
							|  |  |  |         formats = self._extract_m3u8_formats( | 
					
						
							|  |  |  |             'http://%s%s' % (server, m3u8_path), video_id, ext='mp4', | 
					
						
							|  |  |  |             entry_protocol='m3u8_native') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         title = self._og_search_title(webpage) | 
					
						
							|  |  |  |         description = self._html_search_meta('DC.description', webpage) | 
					
						
							|  |  |  |         upload_date = unified_strdate( | 
					
						
							|  |  |  |             self._html_search_meta('DC.date.created', webpage)) | 
					
						
							|  |  |  |         thumbnail = self._og_search_thumbnail(webpage) | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         return { | 
					
						
							| 
									
										
										
										
											2015-01-29 23:34:56 +01:00
										 |  |  |             'id': object_id, | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  |             'title': title, | 
					
						
							| 
									
										
										
										
											2016-10-01 15:22:48 +08:00
										 |  |  |             'formats': formats, | 
					
						
							|  |  |  |             'display_id': video_id, | 
					
						
							|  |  |  |             'description': description, | 
					
						
							|  |  |  |             'upload_date': upload_date, | 
					
						
							|  |  |  |             'thumbnail': thumbnail, | 
					
						
							| 
									
										
										
										
											2015-01-28 08:21:04 +01:00
										 |  |  |         } |