From a3324b7e71ec48daab81981e7d85967a590d4f79 Mon Sep 17 00:00:00 2001 From: Christoph Schlosser Date: Fri, 19 Sep 2025 19:21:11 +0200 Subject: g2h: Add utility script Also move the sources into the more conventional src/g2h dir --- g2h/file_page.py | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 g2h/file_page.py (limited to 'g2h/file_page.py') diff --git a/g2h/file_page.py b/g2h/file_page.py deleted file mode 100644 index a558254..0000000 --- a/g2h/file_page.py +++ /dev/null @@ -1,47 +0,0 @@ -import base64 -import filetype -import os - -from .file import generate_breadcrumbs, sanitize_file_name, tree_join -from .page import Page -from .tree import safe_join - -def bytes_to_content(file_bytes): - if not file_bytes: - return (None, 'empty') - try: - text = file_bytes.decode('utf-8') - return (text, 'text') - except UnicodeError: - if filetype.is_image(file_bytes): - # TODO: Refer to the static file once that's implemented. - img = base64.b64encode(file_bytes) - return (img.decode('utf-8'), 'image') - - return (None, None) - -class FilePage(Page): - def __init__(self, out_dir, name, commit, file_name, file_path, content_subdir): - tree = safe_join(commit.tree, file_path) - super(FilePage, self).__init__('file.md', out_dir, os.path.join(tree_join(commit, file_path), sanitize_file_name(file_name, tree.blobs) + '.md'), name, content_subdir) - self.commit = commit - self.file_name = file_name - self.file_path = file_path - self.tree = tree - - def read_file(self): - return self.tree.join(self.file_name).data_stream.read() - - def context(self): - file_bytes = self.read_file() - content, file_type = bytes_to_content(file_bytes) - - return { - 'breadcrumbs': generate_breadcrumbs(self.content_subdir, self.commit, os.path.join(self.file_path, self.file_name), self.tree.blobs), - 'content': content, - 'content_subdir': self.content_subdir, - 'file_extension': os.path.splitext(self.file_name)[1].lstrip('.'), - 'title': self.name + ': ' + self.file_name, - 'this_commit': self.commit, - 'type': file_type - } -- cgit v1.2.3