diff --git a/src/services/file_service.py b/src/services/file_service.py new file mode 100644 index 0000000..37306b9 --- /dev/null +++ b/src/services/file_service.py @@ -0,0 +1,17 @@ +import os + + +class FileService: + def __init__(self, eolas_file): + self.eolas_file = eolas_file + self.info = os.stat(eolas_file) + + def __extract_title(self): + return os.path.basename(self.eolas_file) + + def get_info(self): + return { + "title": self.__extract_title(), + "last_modified": self.info.st_mtime, + "size": self.info.st_size, + } diff --git a/src/services/markdown_parse_service.py b/src/services/markdown_parse_service.py new file mode 100644 index 0000000..48aad11 --- /dev/null +++ b/src/services/markdown_parse_service.py @@ -0,0 +1,16 @@ +import frontmatter + + +class MarkdownParseService: + """Extract tags, links and body text from Markdown entries""" + + def __init__(self, eolas_file): + self.eolas_file = eolas_file + + def parse(self): + with open(self.eolas_file) as f: + metadata, content = frontmatter.parse(f.read()) + return { + "tags": metadata.get("tags", []), + "body": content or "", + }