From 4f0dde8e96bf504887cfa4cc6b3c1df85364a329 Mon Sep 17 00:00:00 2001 From: jwansek Date: Fri, 21 Jan 2022 20:00:38 +0000 Subject: did some more work on rendering txt reports --- jinja_helpers.py | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'jinja_helpers.py') diff --git a/jinja_helpers.py b/jinja_helpers.py index af91786..cf68748 100644 --- a/jinja_helpers.py +++ b/jinja_helpers.py @@ -1,5 +1,6 @@ """Functions in this module will be avaliable to call in jinja templates""" import yaml +import re def recurse_class_tree_text(tree, indent = 4): return yaml.dump(tree, indent = indent).replace(": {}", "") @@ -19,12 +20,40 @@ def _get_helpers(): r.import_module("jinja_helpers") return {k: v[0] for k, v in r.get_functions("jinja_helpers").items()} +def get_required_num_args(funcname): + return int(re.findall(r"(?<=\()(\d+)(?=\))", funcname)[0]) + +def bool_to_yesno(b:bool): + if b: + return "YES" + else: + return "NO" + +def len_documentation(comments, docs): + """This function isn't in jinja""" + if comments == "None": + commentlen = 0 + else: + commentlen = len(comments) + + if docs == "None": + docslen = 0 + else: + docslen = len(docs) + + return commentlen + docslen + +def get_source_numlines(source): + return "%d lines (%d characters)" % (source.count("\n"), len(source)) + if __name__ == "__main__": - import json - with open("100301654_report.json", "r") as f: - init_struct = json.load(f)["files"] + # import json + # with open("100301654_report.json", "r") as f: + # init_struct = json.load(f)["files"] + + # print(flatten_struct(flatten_struct(init_struct)["example.py"]["functions"])) - print(flatten_struct(flatten_struct(init_struct)["example.py"]["functions"])) + print(get_required_num_args("aFunctionThatIsntThere(2)")) \ No newline at end of file -- cgit v1.2.3