about summary refs log tree commit diff
path: root/devscripts/lazy_load_template.py
blob: 563d629f8c582889ee3b54bd131d8220dc6f2536 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# encoding: utf-8
# flake8: noqa
from __future__ import unicode_literals

import re


class LazyLoadExtractor(object):
    _module = None

    @classmethod
    def ie_key(cls):
        return cls.__name__[:-2]

    def __new__(cls):
        mod = __import__(cls._module, fromlist=(cls.__name__,))
        real_cls = getattr(mod, cls.__name__)
        return real_cls.__new__(real_cls)