IE._WORKING attribute in order to warn the users and skip the tests on broken IEs
This commit is contained in:
		| @@ -481,6 +481,11 @@ class FileDownloader(object): | ||||
| 				if not ie.suitable(url): | ||||
| 					continue | ||||
|  | ||||
| 				# Warn if the _WORKING attribute is False | ||||
| 				if not ie.working(): | ||||
| 					self.trouble(u'WARNING: the program functionality for this site has been marked as broken, ' | ||||
| 						         u'and will probably not work. If you want to go on, use the -i option.') | ||||
|  | ||||
| 				# Suitable InfoExtractor found | ||||
| 				suitable_found = True | ||||
|  | ||||
|   | ||||
| @@ -63,10 +63,14 @@ class InfoExtractor(object): | ||||
|  | ||||
| 	_real_extract() must return a *list* of information dictionaries as | ||||
| 	described above. | ||||
|  | ||||
| 	Finally, the _WORKING attribute should be set to False for broken IEs | ||||
| 	in order to warn the users and skip the tests. | ||||
| 	""" | ||||
|  | ||||
| 	_ready = False | ||||
| 	_downloader = None | ||||
| 	_WORKING = True | ||||
|  | ||||
| 	def __init__(self, downloader=None): | ||||
| 		"""Constructor. Receives an optional downloader.""" | ||||
| @@ -77,6 +81,10 @@ class InfoExtractor(object): | ||||
| 		"""Receives a URL and returns True if suitable for this IE.""" | ||||
| 		return re.match(self._VALID_URL, url) is not None | ||||
|  | ||||
| 	def working(self): | ||||
| 		"""Getter method for _WORKING.""" | ||||
| 		return self._WORKING | ||||
|  | ||||
| 	def initialize(self): | ||||
| 		"""Initializes an instance (authentication, etc).""" | ||||
| 		if not self._ready: | ||||
| @@ -1891,6 +1899,7 @@ class DepositFilesIE(InfoExtractor): | ||||
| class FacebookIE(InfoExtractor): | ||||
| 	"""Information Extractor for Facebook""" | ||||
|  | ||||
| 	_WORKING = False | ||||
| 	_VALID_URL = r'^(?:https?://)?(?:\w+\.)?facebook\.com/(?:video/video|photo)\.php\?(?:.*?)v=(?P<ID>\d+)(?:.*)' | ||||
| 	_LOGIN_URL = 'https://login.facebook.com/login.php?m&next=http%3A%2F%2Fm.facebook.com%2Fhome.php&' | ||||
| 	_NETRC_MACHINE = 'facebook' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user