 8a5dc1c1e1
			
		
	
	8a5dc1c1e1
	
	
	
		
			
			According to the docs '__init__' is only called automatically if '__new__' returns an instance of the original class.
		
			
				
	
	
		
			20 lines
		
	
	
		
			458 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			458 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| # encoding: utf-8
 | |
| from __future__ import unicode_literals
 | |
| 
 | |
| import re
 | |
| 
 | |
| 
 | |
| class LazyLoadExtractor(object):
 | |
|     _module = None
 | |
| 
 | |
|     @classmethod
 | |
|     def ie_key(cls):
 | |
|         return cls.__name__[:-2]
 | |
| 
 | |
|     def __new__(cls, *args, **kwargs):
 | |
|         mod = __import__(cls._module, fromlist=(cls.__name__,))
 | |
|         real_cls = getattr(mod, cls.__name__)
 | |
|         instance = real_cls.__new__(real_cls)
 | |
|         instance.__init__(*args, **kwargs)
 | |
|         return instance
 |