Source code for helpers.general

import os
import sys

[docs]def local_path_gen(_name_): """This function generates a ``local_path`` function you can use in your scripts to get an absolute path to a file in your app's directory. You need to pass ``__name__`` to ``local_path_gen``. Example usage: .. code-block:: python from helpers import local_path_gen local_path = local_path_gen(__name__) ... config_path = local_path("config.json") The resulting local_path function supports multiple arguments, passing all of them to ``os.path.join`` internally.""" app_path = os.path.dirname(sys.modules[_name_].__file__) def local_path(*path): return os.path.join(app_path, *path) return local_path
def flatten(foo): for x in foo: if hasattr(x, '__iter__'): for y in flatten(x): yield y else: yield x # noinspection PyTypeChecker,PyArgumentList class Singleton(object): _instance = None def __new__(cls, *args, **kwargs): if not isinstance(cls._instance, cls): cls._instance = object.__new__(cls, *args, **kwargs) return cls._instance