from dataclasses import dataclass from io import TextIOWrapper from os import sep @dataclass class Article: id: str title: str summary: str content: str def read_article_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 Blog: name: str url: str def blog_from_json(json: dict) -> Blog: return Blog( json['name'], json['url'] )