diff --git a/i2p2www/helpers.py b/i2p2www/helpers.py index bbd8a6563b90ea8513a1ebcd831f7ee26afb3699..aabf4a5eae615b82c93f1bceeb5363f1e8614cb9 100644 --- a/i2p2www/helpers.py +++ b/i2p2www/helpers.py @@ -1,4 +1,17 @@ from math import ceil +from werkzeug import import_string, cached_property + +class LazyView(object): + def __init__(self, import_name): + self.__module__, self.__name__ = import_name.rsplit('.', 1) + self.import_name = import_name + + @cached_property + def view(self): + return import_string(self.import_name) + + def __call__(self, *args, **kwargs): + return self.view(*args, **kwargs) class Pagination(object): def __init__(self, page, per_page, total_count):