feat: create File and MarkdownParser services
This commit is contained in:
parent
577812c493
commit
b11f5850fc
2 changed files with 33 additions and 0 deletions
17
src/services/file_service.py
Normal file
17
src/services/file_service.py
Normal file
|
@ -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,
|
||||||
|
}
|
16
src/services/markdown_parse_service.py
Normal file
16
src/services/markdown_parse_service.py
Normal file
|
@ -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 "",
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue