eolas-db/src/controllers/controller.py
2024-10-31 15:41:19 +00:00

34 lines
940 B
Python

from typing import List, TypedDict
from services.file_service import FileService
from services.markdown_parse_service import MarkdownParseService
class Entry(TypedDict):
title: str
tags: List[str]
body: str
last_modified: int
size: int
class Controller:
def __init__(self):
pass
def parse_entry(self, file_path) -> Entry:
markdown_parser_service = MarkdownParseService(file_path)
file_parser_service = FileService(file_path)
markdown_metadata = markdown_parser_service.parse()
file_data = file_parser_service.get_info()
entry_metadata: Entry = {
"title": file_data.get("title", ""),
"last_modified": file_data.get("last_modified", 0),
"size": file_data.get("size", 0),
"tags": markdown_metadata.get("tags", []),
"body": markdown_metadata.get("body", ""),
}
return entry_metadata