1
0
Fork 0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-11-24 11:11:54 +00:00

lazy extractors: Initialize the real info extractor

According to the docs '__init__' is only called automatically if '__new__' returns an instance of the original class.
This commit is contained in:
Jaime Marquínez Ferrándiz 2016-02-21 12:46:14 +01:00
parent e0986e31cf
commit 8a5dc1c1e1

View file

@ -11,7 +11,9 @@ class LazyLoadExtractor(object):
def ie_key(cls): def ie_key(cls):
return cls.__name__[:-2] return cls.__name__[:-2]
def __new__(cls): def __new__(cls, *args, **kwargs):
mod = __import__(cls._module, fromlist=(cls.__name__,)) mod = __import__(cls._module, fromlist=(cls.__name__,))
real_cls = getattr(mod, cls.__name__) real_cls = getattr(mod, cls.__name__)
return real_cls.__new__(real_cls) instance = real_cls.__new__(real_cls)
instance.__init__(*args, **kwargs)
return instance