[LiveLeak] move into own file
This commit is contained in:
		@@ -36,6 +36,7 @@ from .extractor.googlesearch import GoogleSearchIE
 | 
				
			|||||||
from .extractor.infoq import InfoQIE
 | 
					from .extractor.infoq import InfoQIE
 | 
				
			||||||
from .extractor.justintv import JustinTVIE
 | 
					from .extractor.justintv import JustinTVIE
 | 
				
			||||||
from .extractor.keek import KeekIE
 | 
					from .extractor.keek import KeekIE
 | 
				
			||||||
 | 
					from .extractor.liveleak import LiveLeakIE
 | 
				
			||||||
from .extractor.metacafe import MetacafeIE
 | 
					from .extractor.metacafe import MetacafeIE
 | 
				
			||||||
from .extractor.mixcloud import MixcloudIE
 | 
					from .extractor.mixcloud import MixcloudIE
 | 
				
			||||||
from .extractor.mtv import MTVIE
 | 
					from .extractor.mtv import MTVIE
 | 
				
			||||||
@@ -92,42 +93,6 @@ from .extractor.zdf import ZDFIE
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LiveLeakIE(InfoExtractor):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    _VALID_URL = r'^(?:http?://)?(?:\w+\.)?liveleak\.com/view\?(?:.*?)i=(?P<video_id>[\w_]+)(?:.*)'
 | 
					 | 
				
			||||||
    IE_NAME = u'liveleak'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def _real_extract(self, url):
 | 
					 | 
				
			||||||
        mobj = re.match(self._VALID_URL, url)
 | 
					 | 
				
			||||||
        if mobj is None:
 | 
					 | 
				
			||||||
            raise ExtractorError(u'Invalid URL: %s' % url)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        video_id = mobj.group('video_id')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        webpage = self._download_webpage(url, video_id)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        video_url = self._search_regex(r'file: "(.*?)",',
 | 
					 | 
				
			||||||
            webpage, u'video URL')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        video_title = self._html_search_regex(r'<meta property="og:title" content="(?P<title>.*?)"',
 | 
					 | 
				
			||||||
            webpage, u'title').replace('LiveLeak.com -', '').strip()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        video_description = self._html_search_regex(r'<meta property="og:description" content="(?P<desc>.*?)"',
 | 
					 | 
				
			||||||
            webpage, u'description', fatal=False)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        video_uploader = self._html_search_regex(r'By:.*?(\w+)</a>',
 | 
					 | 
				
			||||||
            webpage, u'uploader', fatal=False)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        info = {
 | 
					 | 
				
			||||||
            'id':  video_id,
 | 
					 | 
				
			||||||
            'url': video_url,
 | 
					 | 
				
			||||||
            'ext': 'mp4',
 | 
					 | 
				
			||||||
            'title': video_title,
 | 
					 | 
				
			||||||
            'description': video_description,
 | 
					 | 
				
			||||||
            'uploader': video_uploader
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        return [info]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										44
									
								
								youtube_dl/extractor/liveleak.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								youtube_dl/extractor/liveleak.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					import re
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from .common import InfoExtractor
 | 
				
			||||||
 | 
					from ..utils import (
 | 
				
			||||||
 | 
					    ExtractorError,
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class LiveLeakIE(InfoExtractor):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    _VALID_URL = r'^(?:http?://)?(?:\w+\.)?liveleak\.com/view\?(?:.*?)i=(?P<video_id>[\w_]+)(?:.*)'
 | 
				
			||||||
 | 
					    IE_NAME = u'liveleak'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def _real_extract(self, url):
 | 
				
			||||||
 | 
					        mobj = re.match(self._VALID_URL, url)
 | 
				
			||||||
 | 
					        if mobj is None:
 | 
				
			||||||
 | 
					            raise ExtractorError(u'Invalid URL: %s' % url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        video_id = mobj.group('video_id')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        webpage = self._download_webpage(url, video_id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        video_url = self._search_regex(r'file: "(.*?)",',
 | 
				
			||||||
 | 
					            webpage, u'video URL')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        video_title = self._html_search_regex(r'<meta property="og:title" content="(?P<title>.*?)"',
 | 
				
			||||||
 | 
					            webpage, u'title').replace('LiveLeak.com -', '').strip()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        video_description = self._html_search_regex(r'<meta property="og:description" content="(?P<desc>.*?)"',
 | 
				
			||||||
 | 
					            webpage, u'description', fatal=False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        video_uploader = self._html_search_regex(r'By:.*?(\w+)</a>',
 | 
				
			||||||
 | 
					            webpage, u'uploader', fatal=False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        info = {
 | 
				
			||||||
 | 
					            'id':  video_id,
 | 
				
			||||||
 | 
					            'url': video_url,
 | 
				
			||||||
 | 
					            'ext': 'mp4',
 | 
				
			||||||
 | 
					            'title': video_title,
 | 
				
			||||||
 | 
					            'description': video_description,
 | 
				
			||||||
 | 
					            'uploader': video_uploader
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return [info]
 | 
				
			||||||
		Reference in New Issue
	
	Block a user