feat: implemented context class
This commit is contained in:
		| @@ -39,9 +39,42 @@ def copy_static(): | ||||
|             dest_file = os.path.join(dest_dir, file) | ||||
|             shutil.copy2(src_file, dest_file)  | ||||
|  | ||||
|     print(src, dst)   | ||||
|  | ||||
| class Context: | ||||
|     def __init__(self, root: str = SOURCE_DIRECTORY): | ||||
|         self.file = Path(root, "index.html") | ||||
|  | ||||
|         current_root = Path(root) | ||||
|         while current_root.parts and self.file is None: | ||||
|             current_file = Path(current_root, "index.html") | ||||
|             if current_file.exists() and current_file.is_file:  | ||||
|                 self.file = current_file | ||||
|  | ||||
|             current_root = current_root.parent | ||||
|  | ||||
|         if self.file is None: | ||||
|             logger.error("couldn't find context for %s", root) | ||||
|             exit(1) | ||||
|         logger.info("%s found context %r", root, str(self.file)) | ||||
|  | ||||
|     def get_text(self, placeholder_values: dict): | ||||
|         text = self.file.read_text() | ||||
|  | ||||
|         for key, value in placeholder_values.items(): | ||||
|             text = text.replace(f"<{key}/>", value) | ||||
|             text = text.replace(f"<{key} />", value) | ||||
|   | ||||
|         return text | ||||
|  | ||||
|  | ||||
| def build(): | ||||
|     logger.info("building static page") | ||||
|     copy_static()  | ||||
|  | ||||
|     context = Context() | ||||
|     print(context.get_text({ | ||||
|         "content": """ | ||||
|             <h1 class="title">Hello World</h1> | ||||
|             <p class="subtitle">My first website with <strong>Bulma</strong>!</p> | ||||
|         """ | ||||
|     })) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user