예제 #1
0
파일: utils.py 프로젝트: abadger/Bento
def create_fake_package_from_bento_info(top_node, bento_info):
    from bento.core.package import raw_parse, raw_to_pkg_kw
    d = raw_parse(bento_info)
    _kw, files = raw_to_pkg_kw(d, {}, None)
    kw = {}
    if "extensions" in _kw:
        kw["extensions"] = _kw["extensions"].values()
    if "py_modules" in _kw:
        kw["modules"] = _kw["py_modules"]
    if "packages" in _kw:
        kw["packages"] = _kw["packages"]
    if "compiled_libraries" in _kw:
        kw["compiled_libraries"] = _kw["compiled_libraries"]
    return create_fake_package(top_node, **kw)
예제 #2
0
파일: testing.py 프로젝트: jjehannet/Bento
def create_fake_package_from_bento_info(top_node, bento_info):
    d = raw_parse(bento_info)
    _kw, files = raw_to_pkg_kw(d, {}, None)
    kw = {}
    if "extensions" in _kw:
        kw["extensions"] = _kw["extensions"].values()
    if "py_modules" in _kw:
        kw["modules"] = _kw["py_modules"]
    if "packages" in _kw:
        kw["packages"] = _kw["packages"]
    if "compiled_libraries" in _kw:
        kw["compiled_libraries"] = _kw["compiled_libraries"].values()
    if "extra_source_files" in _kw:
        kw["extra_source_files"] = _kw["extra_source_files"]
    if "sub_directory" in _kw:
        kw["sub_directory"] = _kw["sub_directory"]
    return create_fake_package(top_node, **kw)
예제 #3
0
파일: testing.py 프로젝트: jjehannet/Bento
def create_fake_package_from_bento_info(top_node, bento_info):
    d = raw_parse(bento_info)
    _kw, files = raw_to_pkg_kw(d, {}, None)
    kw = {}
    if "extensions" in _kw:
        kw["extensions"] = _kw["extensions"].values()
    if "py_modules" in _kw:
        kw["modules"] = _kw["py_modules"]
    if "packages" in _kw:
        kw["packages"] = _kw["packages"]
    if "compiled_libraries" in _kw:
        kw["compiled_libraries"] = _kw["compiled_libraries"].values()
    if "extra_source_files" in _kw:
        kw["extra_source_files"] = _kw["extra_source_files"]
    if "sub_directory" in _kw:
        kw["sub_directory"] = _kw["sub_directory"]
    return create_fake_package(top_node, **kw)
예제 #4
0
파일: testing.py 프로젝트: aspidites/Bento
def create_fake_package_from_bento_infos(top_node, bento_infos, bscripts=None):
    if bscripts is None:
        bscripts = {}
    for loc, content in bento_infos.items():
        n = top_node.make_node(loc)
        n.parent.mkdir()
        n.write(content)
    for loc, content in bscripts.items():
        n = top_node.make_node(loc)
        n.parent.mkdir()
        n.write(content)

    d = raw_parse(bento_infos["bento.info"])
    _kw, files = raw_to_pkg_kw(d, {}, None)
    subpackages = _kw.get("subpackages", {})

    py_modules = _kw.get("py_modules", [])
    if "extensions" in _kw:
        extensions = list(_kw["extensions"].values())
    else:
        extensions = []
    if "compiled_libraries" in _kw:
        compiled_libraries = list(_kw["compiled_libraries"].values())
    else:
        compiled_libraries = []
    if "extra_source_files" in _kw:
        extra_source_files = list(_kw["extra_source_files"])
    else:
        extra_source_files = []

    packages = _kw.get("packages", [])
    for name, spkg in subpackages.items():
        n = top_node.search(name)
        n.write(bento_infos[name])
        d = n.parent
        for py_module in spkg.py_modules:
            m = d.make_node(py_module)
            py_modules.append(m.path_from(top_node))

        extensions.extend(flatten_extensions(top_node, spkg))
        compiled_libraries.extend(flatten_compiled_libraries(top_node, spkg))
        packages.extend(flatten_packages(top_node, spkg))

    return create_fake_package(top_node, packages, py_modules, extensions, compiled_libraries,
                               extra_source_files)
예제 #5
0
def create_fake_package_from_bento_infos(top_node, bento_infos, bscripts=None):
    if bscripts is None:
        bscripts = {}
    for loc, content in list(bento_infos.items()):
        n = top_node.make_node(loc)
        n.parent.mkdir()
        n.write(content)
    for loc, content in list(bscripts.items()):
        n = top_node.make_node(loc)
        n.parent.mkdir()
        n.write(content)

    d = raw_parse(bento_infos["bento.info"])
    _kw, files = raw_to_pkg_kw(d, {}, None)
    subpackages = _kw.get("subpackages", {})

    py_modules = _kw.get("py_modules", [])
    if "extensions" in _kw:
        extensions = list(_kw["extensions"].values())
    else:
        extensions = []
    if "compiled_libraries" in _kw:
        compiled_libraries = list(_kw["compiled_libraries"].values())
    else:
        compiled_libraries = []
    if "extra_source_files" in _kw:
        extra_source_files = list(_kw["extra_source_files"])
    else:
        extra_source_files = []

    packages = _kw.get("packages", [])
    for name, spkg in list(subpackages.items()):
        n = top_node.search(name)
        n.write(bento_infos[name])
        d = n.parent
        for py_module in spkg.py_modules:
            m = d.make_node(py_module)
            py_modules.append(m.path_from(top_node))

        extensions.extend(flatten_extensions(top_node, spkg))
        compiled_libraries.extend(flatten_compiled_libraries(top_node, spkg))
        packages.extend(flatten_packages(top_node, spkg))

    return create_fake_package(top_node, packages, py_modules, extensions,
                               compiled_libraries, extra_source_files)
예제 #6
0
def _raw_to_pkg(raw, user_flags, bento_info):
    kw, files = raw_to_pkg_kw(raw, user_flags, bento_info)
    pkg = PackageDescription(**kw)
    return pkg, files
예제 #7
0
def _raw_to_pkg(raw, user_flags, filename):
    kw, files = raw_to_pkg_kw(raw, user_flags, filename)
    pkg = PackageDescription(**kw)
    return pkg, files