1
0
Files
mandu-crawler/models/post.py

32 lines
742 B
Python

from typing import Optional, Dict
from dataclasses import dataclass, field
from datetime import datetime
from bs4 import Tag
from utils.typings import BoardPath
@dataclass
class Attachment:
url: str
source_url: str
source_filename: Optional[str] = None
source_suffix: Optional[str] = None
hash: Optional[str] = None
error: Optional[str] = None
@dataclass
class Post:
id: int
board_id: str
board_path: BoardPath
author_id: Optional[str] = None
author_name: Optional[str] = None
category: Optional[str] = None
title: Optional[str] = None
body: Optional[Tag] = None
attachments: Dict[str, Attachment] = field(default_factory=lambda: {})
created_at: Optional[datetime] = None