2016-10-02 13:39:18 +02:00
|
|
|
# coding: utf-8
|
2020-12-09 21:52:30 +01:00
|
|
|
# flake8: noqa
|
2016-02-10 14:01:31 +01:00
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
|
|
class LazyLoadExtractor(object):
|
|
|
|
_module = None
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def ie_key(cls):
|
|
|
|
return cls.__name__[:-2]
|
|
|
|
|
2016-02-21 12:46:14 +01:00
|
|
|
def __new__(cls, *args, **kwargs):
|
2016-02-10 14:01:31 +01:00
|
|
|
mod = __import__(cls._module, fromlist=(cls.__name__,))
|
|
|
|
real_cls = getattr(mod, cls.__name__)
|
2016-02-21 12:46:14 +01:00
|
|
|
instance = real_cls.__new__(real_cls)
|
|
|
|
instance.__init__(*args, **kwargs)
|
|
|
|
return instance
|
2020-12-09 21:52:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
# suitable() inserts below
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
|
|
class LazyLoadSearchExtractor(LazyLoadExtractor):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class LazyLoadSelfhostedExtractor(LazyLoadExtractor):
|
|
|
|
|
|
|
|
# suitable_selfhosted() inserts below
|
|
|
|
{}
|