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
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
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)}
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)}
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("")
def environment_extensions(self, cfg): return {"pkg_full_name": pkg_full_name(cfg), "src_pth": src_dir(cfg)}
def environment_extensions(self, cfg): return { "src_pth": src_dir(cfg).as_posix() }