"""
Script which can be called before generating the doc
to generate description of files modified by each option.
"""
from pkglts.config_management import Config
def _nn(cfg, pth):
"""Helper function"""
print("pth:", pth)
tgt_name = cfg.render(pth)
if tgt_name.endswith(".tpl"):
tgt_name = tgt_name[:-4]
return tgt_name
def _tree(dname, padding, txt):
"""Generate tree ascii representation of a dir"""
pkg_cfg = dict(
base={"namespace": None, "owner": "owner", "pkgname": "pkgname", "url": None},
data={"use_ext_dir": False},
doc={"fmt": "rst"},
plugin_project={"plugin_name": "plugin"},
test={"suite_name": "pytest"},
)
cfg = Config(pkg_cfg)
files = sorted(dname.iterdir())
count = 0
for pth in files:
fmt_name = _nn(cfg, pth.name)
if fmt_name.split(".")[0] != "_":
count += 1
txt += padding + "|\n"
txt += padding + "+-" + fmt_name
if pth.is_dir():
txt += "/\n"
if count == len(files):
txt = _tree(pth, padding + " " + " " * int(len(fmt_name) / 2), txt)
else:
txt = _tree(pth, padding + "|" + " " * int(len(fmt_name) / 2), txt)
else:
txt += "\n"
return txt
[docs]
def fmt_tree(dname):
"""Generate tree ascii representation of a dir
Args:
dname (Path): path to directory
Returns:
(str)
"""
return _tree(dname, "", ".\n")