Source code for image_crawler_utils.stations.twitter.parser_assets.status_classes

import dataclasses
from functools import total_ordering
from collections.abc import Iterable
from typing import Optional



[docs] @dataclasses.dataclass class TwitterStatusMedia: link: Optional[str] = None image_source: Optional[str] = None image_id: Optional[str] = None image_name: Optional[str] = None
[docs] @total_ordering @dataclasses.dataclass class TwitterStatus: """ Contains config of a tweet (Twitter / X status). """ status_url: Optional[str] = None status_id: Optional[str] = None user_id: Optional[str] = None user_name: Optional[str] = None time: Optional[str] = None reply_num: int = 0 retweet_num: int = 0 like_num: int = 0 view_num: Optional[int] = None text: Optional[str] = None hashtags: Iterable[str] = dataclasses.field(default_factory=lambda: []) links: Iterable[str] = dataclasses.field(default_factory=lambda: []) media_list: Iterable[TwitterStatusMedia] = dataclasses.field(default_factory=lambda: []) def __lt__(self, other): # Sort by status_id (convert to int) return int(self.status_id) < int(other.status_id)