def find_template(context, template):
    logging.debug("++find_template+++++++++++++++++ current_app: %s" % context.current_app)
    path_lst = []
    def has_file(path):
        path_lst.append(path)
        if os.path.exists(path):
            logging.debug('+++TEMPLATE+++ %s' % path)
            return True
        else:
            return False
    if template[0] in ('\\' '/'):
        if has_file(os.path.join(ROOT_PATH, template[1:])):
            return template[1:]
        if has_file(os.path.join(THEME_ROOT, template[1:])):
            return template[1:]
        if has_file(os.path.join(TEMPLATE_ROOT, template[1:])):
            return template[1:]
    else:
        if has_file(os.path.join(TEMPLATE_ROOT, context.current_app, template)):
            return os.path.join(context.current_app, template)
    theme_base = get_theme_templates_path(context.current_app)
    logging.debug('++theme_base+++++ %s' % theme_base)
    logging.debug('+++ %s' % os.path.join(THEME_ROOT, theme_base, template))
    if has_file(os.path.join(THEME_ROOT, theme_base, template)):
        return os.path.join(theme_base, template)
    raise Exception('Cannot find template: %s' % ', '.join(path_lst))
def get_extra_context(appContext):
    params = {}
    params['appContext'] = appContext
    params['TEMPLATES_BASE'] = get_theme_templates_path(appContext.current_app)
    params['THEME_STATIC'] = get_theme_static_path(appContext.current_app)
    return params