53 lines
2.3 KiB
Python
53 lines
2.3 KiB
Python
from typing import List
|
|
|
|
|
|
class RssFeed():
|
|
"""RSS feed object"""
|
|
|
|
def __init__(self, **kwargs):
|
|
super().__init__()
|
|
self.name: str = kwargs.get("name", None)
|
|
self.last_title: str = kwargs.get("last_title", None)
|
|
self.last_link: str = kwargs.get("last_link", None)
|
|
self.last_time: str = kwargs.get("last_time", None)
|
|
self.template: str = kwargs.get("template", None)
|
|
self.url: str = kwargs.get("url", None)
|
|
self.template_tags: List[str] = kwargs.get("template_tags", [])
|
|
self.is_special: List[str] = kwargs.get("is_special", [])
|
|
self.embed: bool = kwargs.get("embed", True)
|
|
self.embed_color: str = kwargs.get("embed_color", None)
|
|
self.embed_image: str = kwargs.get("embed_image", None)
|
|
self.embed_thumbnail: str = kwargs.get("embed_thumbnail", None)
|
|
|
|
def to_json(self) -> dict:
|
|
return {
|
|
"name": self.name,
|
|
"last_title": self.last_title,
|
|
"last_link": self.last_link,
|
|
"last_time": self.last_time,
|
|
"template": self.template,
|
|
"url": self.url,
|
|
"template_tags": self.template_tags,
|
|
"is_special": self.is_special,
|
|
"embed": self.embed,
|
|
"embed_color": self.embed_color,
|
|
"embed_image": self.embed_image,
|
|
"embed_thumbnail": self.embed_thumbnail,
|
|
}
|
|
|
|
@classmethod
|
|
def from_json(cls, data: dict):
|
|
return cls(
|
|
name=data["name"] if data["name"] else None,
|
|
last_title=data["last_title"] if data["last_title"] else None,
|
|
last_link=data["last_link"] if data["last_link"] else None,
|
|
last_time=data["last_time"] if data["last_time"] else None,
|
|
template=data["template"] if data["template"] else None,
|
|
url=data["url"] if data["url"] else None,
|
|
template_tags=data["template_tags"] if data["template_tags"] else [],
|
|
is_special=data["is_special"] if data["is_special"] else [],
|
|
embed=data["embed"] if data["embed"] else True,
|
|
embed_color=data["embed_color"] if data["embed_color"] else None,
|
|
embed_image=data["embed_image"] if data["embed_image"] else None,
|
|
embed_thumbnail=data["embed_thumbnail"] if data["embed_thumbnail"] else None,
|
|
)
|