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