| import re |
| import os |
| import time |
| from colorama import Fore |
|
|
|
|
| class Documents(): |
| def __init__(self, generated_content = "", parse = True, predifined_filename = None): |
| self.directory: str = None |
| self.generated_content = generated_content |
| self.docbooks = {} |
|
|
| if generated_content != "": |
| if parse: |
| regex = r"```\n(.*?)```" |
| matches = re.finditer(regex, self.generated_content, re.DOTALL) |
| for match in matches: |
| filename = "requirements.txt" |
| doc = match.group(1) |
| self.docbooks[filename] = doc |
| else: |
| self.docbooks[predifined_filename] = self.generated_content |
|
|
| def _update_docs(self, generated_content, parse = True, predifined_filename = ""): |
| new_docs = Documents(generated_content, parse, predifined_filename) |
| for key in new_docs.docbooks.keys(): |
| if key not in self.docbooks.keys() or self.docbooks[key] != new_docs.docbooks[key]: |
| print("{} updated.".format(key)) |
| print(Fore.WHITE + "------Old:\n{}\n------New:\n{}".format(self.docbooks[key] if key in self.docbooks.keys() else "# None", new_docs.docbooks[key])) |
| self.docbooks[key] = new_docs.docbooks[key] |
|
|
|
|
| def _rewrite_docs(self): |
| directory = self.directory |
| if not os.path.exists(directory): |
| os.mkdir(directory) |
| print("{} Created.".format(directory)) |
| for filename in self.docbooks.keys(): |
| with open(os.path.join(directory, filename), "w", encoding="utf-8") as writer: |
| writer.write(self.docbooks[filename]) |
| print(os.path.join(directory, filename), "Writed") |
|
|
| def _get_docs(self): |
| content = "" |
| for filename in self.docbooks.keys(): |
| content += "{}\n```\n{}\n```\n\n".format(filename, self.docbooks[filename]) |
| return content |
|
|