Exemplo n.º 1
0
def test_src_dir():
    cfg = {}
    assert_raises(KeyError, lambda: src_dir(create_env(cfg)))

    cfg['base'] = dict(pkgname='toto', namespace=None)
    dir1 = src_dir(create_env(cfg))
    cfg['base']['namespace'] = 'oa'
    dir2 = src_dir(create_env(cfg))

    assert dir1 != dir2
Exemplo n.º 2
0
def test_src_dir():
    cfg = {}
    with pytest.raises(KeyError):
        pkg_full_name(Config(cfg))

    cfg['base'] = dict(pkgname='toto', namespace=None)
    dir1 = src_dir(Config(cfg))
    cfg['base']['namespace'] = 'oa'
    dir2 = src_dir(Config(cfg))

    assert dir1 != dir2
Exemplo n.º 3
0
def environment_extensions(cfg):
    """Add more functionality to an environment.

    Args:
        cfg (Config):  current package configuration

    Returns:
        dict of str: any
    """
    return {"pkg_full_name": pkg_full_name(cfg), "src_pth": src_dir(cfg)}
Exemplo n.º 4
0
def environment_extensions(env):
    """Add more functionality to an environment.

    Args:
        env (jinja2.Environment):

    Returns:
        dict of str: any
    """
    return {"pkg_full_name": pkg_full_name(env),
            "src_pth": src_dir(env)}
Exemplo n.º 5
0
def action_find_reqs(cfg, **kwds):
    """Find dependencies used by this package.
    """
    LOGGER.info("Find requirements")
    this_pkgname = cfg['base']['pkgname']

    for dirpth in (src_dir(cfg), 'doc', 'example', 'test'):
        if path.exists(dirpth):
            print("############\n# %s\n############" % dirpth)
            reqs = set()
            for pth in glob("%s/*.py" % dirpth) + glob("%s/**/*.py" % dirpth):
                if not path.basename(pth).startswith("_"):
                    src = open(pth, 'rb').read()
                    pt = ast.parse(src, pth)
                    # TODO pb with namespaces
                    reqs.update(
                        pkgname.split(".")[0]
                        for pkgname in iter_ext_imports(pt.body))
            reqs -= {this_pkgname}
            print("standard", sorted(reqs & stdpkgs))
            print("external", sorted(reqs - stdpkgs))
            print("")
Exemplo n.º 6
0
 def environment_extensions(self, cfg):
     return {"pkg_full_name": pkg_full_name(cfg), "src_pth": src_dir(cfg)}
Exemplo n.º 7
0
 def environment_extensions(self, cfg):
     return {
         "src_pth": src_dir(cfg).as_posix()
     }