コード例 #1
0
ファイル: extensions.py プロジェクト: lowks/ftw.theming
def find_relative_resource(relpath):
    calculator = find_object_in_stack('self', Calculator)
    variables = calculator.namespace.variables
    package = variables.get('$current-package').render().strip('"').strip("'")
    module = resolve(package)
    filename = variables.get('$current-relpath').render().strip('"').strip("'")
    directory = Path(module.__file__).parent.joinpath(filename).parent
    path = directory.joinpath(relpath.render().strip('"').strip("'")).abspath()
    if not path.isfile():
        raise ValueError('{0}: File does not exist: {1}'.format(
            filename, path))
    return path
コード例 #2
0
        def register_theming_variables(*varnames):
            calculator = find_object_in_stack('self', Calculator)
            variables = calculator.namespace.variables
            package = (variables.get('$current-package').render()
                       .strip('"').strip("'"))
            filename = (variables.get('$current-filename').render()
                        .strip('"').strip("'"))
            varnames = map(methodcaller('render'), varnames)

            if package not in packages:
                packages[package] = []

            for name in varnames:
                name = u'${0}'.format(name)
                value = variables.get(name, None)
                vartype = value.__class__.__name__
                value = value and value.render or '???'
                packages[package].append({'filename': filename,
                                           'name': name,
                                           'value': value,
                                           'type': vartype})
            return Null()