summaryrefslogtreecommitdiffstats
path: root/reportWriter.py
blob: ebbfecf6c220faea7295e037e4f7f163970d56e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from dataclasses import dataclass
import datetime

@dataclass
class MarkDownReportWriter:
    student_no:str

    def __post_init__(self):
        self.__push_line("""
# %s Submission Report

Report automatically generated at %s

## Files\n\n""" % (self.student_no, datetime.datetime.now()))

    def __push_line(self, line):
        with open("%s_report.md" % self.student_no, "a") as f:
            f.write(line)

    def append_module(self, module_name, found = True, docs = None):
        self.__push_line("### File: `%s.py`\n\n" % module_name)
        if found:
            self.__push_line(" - [x] Present\n")
            if len(docs) > 2:
                self.__push_line(" - [x] Documented (%d characters)\n\n" % (len(docs)))
        else:
            self.__push_line(" - [ ] Present\n\n")

    def append_class(self, class_name, found = True, docs = None):
        self.__push_line("#### Class: `%s`\n\n" % class_name)
        if found:
            self.__push_line(" - [x] Present\n")
            if len(docs) > 2:
                self.__push_line(" - [x] Documented (%d characters)\n\n" % (len(docs)))
        else:
            self.__push_line(" - [ ] Present\n\n")