kopia lustrzana https://github.com/tsileo/little-boxes
Add Emoji support
rodzic
65a391255c
commit
a7bc9bbe41
|
@ -122,6 +122,8 @@ class ActivityType(Enum):
|
|||
# Misskey uses standalone Key object
|
||||
KEY = "Key"
|
||||
|
||||
EMOJI = "Emoji"
|
||||
|
||||
|
||||
ACTOR_TYPES = [
|
||||
ActivityType.PERSON,
|
||||
|
@ -595,6 +597,21 @@ class BaseActivity(object, metaclass=_ActivityMeta):
|
|||
|
||||
return out
|
||||
|
||||
def get_emojis(self) -> List["Emoji"]:
|
||||
if self.tag is None:
|
||||
return []
|
||||
|
||||
emojis = []
|
||||
for tag in self.tag:
|
||||
# Some AP implemention return "type"less tag for links
|
||||
if "type" not in tag:
|
||||
continue
|
||||
|
||||
if _has_type(tag["type"], ActivityType.EMOJI):
|
||||
emojis.append(Emoji(**tag))
|
||||
|
||||
return emojis
|
||||
|
||||
|
||||
class Mention(BaseActivity):
|
||||
ACTIVITY_TYPE = ActivityType.MENTION
|
||||
|
@ -654,6 +671,15 @@ class Image(BaseActivity):
|
|||
return "Image({!r})".format(self._data.get("url"))
|
||||
|
||||
|
||||
class Emoji(BaseActivity):
|
||||
ACTIVITY_TYPE = ActivityType.EMOJI
|
||||
OBJECT_REQUIRED = False
|
||||
ACTOR_REQUIRED = False
|
||||
|
||||
def get_icon_url(self) -> str:
|
||||
return self.icon["url"]
|
||||
|
||||
|
||||
class Follow(BaseActivity):
|
||||
ACTIVITY_TYPE = ActivityType.FOLLOW
|
||||
ALLOWED_OBJECT_TYPES = ACTOR_TYPES
|
||||
|
|
Ładowanie…
Reference in New Issue