# Path: turbo/log.py
# PY3 = sys.version_info >= (3,)
# def _init_file_logger(logger, level, log_path, log_size, log_count):
# def _init_stream_logger(logger, level=None):
# def _module_logger(path):
# def getLogger(currfile=None, level=None, log_path=None, log_size=500 * 1024 * 1024, log_count=3):
# 
# Path: turbo/util.py
# def import_object(name, package_space=None):
#     if name.count('.') == 0:
#         return __import__(name, package_space, None)
# 
#     parts = name.split('.')
#     obj = __import__('.'.join(parts[:-1]),
#                      package_space, None, [str(parts[-1])], 0)
#     try:
#         return getattr(obj, parts[-1])
#     except AttributeError:
#         raise ImportError("No module named %s" % parts[-1])
# 
# def camel_to_underscore(name):
#     """
#     convert CamelCase style to under_score_case
#     """
#     as_list = []
#     length = len(name)
#     for index, i in enumerate(name):
#         if index != 0 and index != length - 1 and i.isupper():
#             as_list.append('_%s' % i.lower())
#         else:
#             as_list.append(i.lower())
# 
#     return ''.join(as_list)


import sys
from turbo.log import helper_log
from turbo.util import import_object, camel_to_underscore
from __future__ import absolute_import, division, print_function, with_statement





class _HelperObjectDict(dict):

    def __setitem__(self, name, value):
        return super(_HelperObjectDict, self).setdefault(name, value)

    def __getattr__(self, name):
        try:
            return self[name]
        except KeyError:
            raise ValueError(name)


def install_helper(installing_helper_list, package_space):
    for item in installing_helper_list:
        # db model package
        package = import_object('.'.join(['helpers', item]), package_space)
        package_space[item] = _HelperObjectDict()
        # all py files  included by package
        all_modules = getattr(package, '__all__', [])
        for m in all_modules:
            try:

# Path: turbo/log.py
# PY3 = sys.version_info >= (3,)
# def _init_file_logger(logger, level, log_path, log_size, log_count):
# def _init_stream_logger(logger, level=None):
# def _module_logger(path):
# def getLogger(currfile=None, level=None, log_path=None, log_size=500 * 1024 * 1024, log_count=3):
# 
# Path: turbo/util.py
# def import_object(name, package_space=None):
#     if name.count('.') == 0:
#         return __import__(name, package_space, None)
# 
#     parts = name.split('.')
#     obj = __import__('.'.join(parts[:-1]),
#                      package_space, None, [str(parts[-1])], 0)
#     try:
#         return getattr(obj, parts[-1])
#     except AttributeError:
#         raise ImportError("No module named %s" % parts[-1])
# 
# def camel_to_underscore(name):
#     """
#     convert CamelCase style to under_score_case
#     """
#     as_list = []
#     length = len(name)
#     for index, i in enumerate(name):
#         if index != 0 and index != length - 1 and i.isupper():
#             as_list.append('_%s' % i.lower())
#         else:
#             as_list.append(i.lower())
# 
#     return ''.join(as_list)


# Path: turbo/helper.py
import sys
from turbo.log import helper_log
from turbo.util import import_object, camel_to_underscore

from __future__ import absolute_import, division, print_function, with_statement





class _HelperObjectDict(dict):

    def __setitem__(self, name, value):
        return super(_HelperObjectDict, self).setdefault(name, value)

    def __getattr__(self, name):
        try:
            return self[name]
        except KeyError:
            raise ValueError(name)


def install_helper(installing_helper_list, package_space):
    for item in installing_helper_list:
        # db model package
        package = import_object('.'.join(['helpers', item]), package_space)
        package_space[item] = _HelperObjectDict()
        # all py files  included by package
        all_modules = getattr(package, '__all__', [])
        for m in all_modules:
            try:

                module = import_object(