twitter2telegram/defs/models.py

35 lines
709 B
Python
Raw Normal View History

2023-05-25 09:37:27 +00:00
from datetime import datetime, timedelta
2023-05-24 15:20:21 +00:00
from typing import List
from pydantic import BaseModel
class Tweet(BaseModel):
content: str
url: str
time: datetime
images: List[str]
@property
def id(self) -> int:
return int(self.url.split("/")[-1])
@property
def time_str(self) -> str:
2023-05-25 09:37:27 +00:00
utc_8_time = self.time + timedelta(hours=8)
return utc_8_time.strftime("%Y-%m-%d %H:%M:%S")
2023-05-24 15:20:21 +00:00
class User(BaseModel):
username: str
name: str
tweets: List[Tweet]
@property
def link(self) -> str:
return f"https://twitter.com/{self.username}"
@property
def format(self) -> str:
return f'<a href="{self.link}">{self.name}</a>'