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

32 lines
738 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
boardId: str
boardPath: BoardPath
authorId: Optional[str] = None
authorName: 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