This repository has been archived on 2025-01-08. You can view files and clone it, but cannot push or open issues or pull requests.
blog-software/article.py
2024-05-23 16:16:02 +02:00

36 lines
No EOL
760 B
Python

from dataclasses import dataclass
from io import TextIOWrapper
from json import loads
from os import sep
@dataclass
class Article:
id: str
title: str
summary: str
content: str
@staticmethod
def from_open_file(file: TextIOWrapper) -> "Article":
id = file.name.split(sep)[-1].split('.')[0]
title = file.readline().strip()
summary = file.readline().strip()
content = file.read().strip()
return Article(id, title, summary, content)
@dataclass
class Site:
name: str
url: str
@staticmethod
def from_open_file(file: TextIOWrapper) -> "Site":
data = file.read()
data = loads(data)
return Site(
data['name'],
data['url']
)