blob: cbb7f66b279cf4e96001502fd9d7de8b646fbd09 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
from typing import NamedTuple, Any, Self
from datetime import datetime
class VideoTuple(NamedTuple):
id: str
link: str
title: str
author: str
author_channel: str
published: datetime
updated: datetime
thumbnail: str
summary: str
analysed: bool = False
duration: int = -1
@classmethod
def from_rss_entry(cls, entry: Any) -> Self:
return cls(
id = entry.id,
link = entry.link,
title = entry.title,
author = entry.author_detail.name,
author_channel = entry.author_detail.href,
published = datetime.fromisoformat(entry.published),
updated = datetime.fromisoformat(entry.updated),
thumbnail = entry.media_thumbnail[0]["url"],
summary = entry.summary,
)
|