Source code for redditwarp.models.flair_emoji
from __future__ import annotations
from typing import Mapping, Any, Iterator
from dataclasses import dataclass
from .upload_lease import UploadLease as FlairEmojiUploadLease # noqa: F401
[docs]@dataclass(repr=False, eq=False)
class FlairEmoji:
d: Mapping[str, Any]
name: str
image_url: str
creator_idn: int
creator_id: int
creator_id36: str
post_enabled: bool
user_enabled: bool
mod_only: bool
[docs]class SubredditFlairEmojis(Mapping[str, FlairEmoji]):
def __init__(self,
*,
subreddit_emojis: Mapping[str, FlairEmoji],
reddit_emojis: Mapping[str, FlairEmoji],
all_emojis: Mapping[str, FlairEmoji],
subreddit_id36: str,
) -> None:
self.subreddit_emojis: Mapping[str, FlairEmoji] = subreddit_emojis
("")
self.reddit_emojis: Mapping[str, FlairEmoji] = reddit_emojis
("")
self.all_emojis: Mapping[str, FlairEmoji] = all_emojis
("")
self.subreddit_id36: str = subreddit_id36
("")
self.subreddit_idn: int = int(subreddit_id36, 36)
("")
self.subreddit_id: int = self.subreddit_idn
("")
def __contains__(self, item: object) -> bool:
return item in self.all_emojis
def __iter__(self) -> Iterator[str]:
return iter(self.all_emojis)
def __len__(self) -> int:
return len(self.all_emojis)
def __getitem__(self, key: str) -> FlairEmoji:
return self.all_emojis[key]