Move graphql_to_sticker -> Sticker._from_graphql
This commit is contained in:
@@ -3077,7 +3077,9 @@ class Client(object):
|
|||||||
attachments.append(attachment)
|
attachments.append(attachment)
|
||||||
|
|
||||||
elif mercury.get("sticker_attachment"):
|
elif mercury.get("sticker_attachment"):
|
||||||
sticker = graphql_to_sticker(mercury["sticker_attachment"])
|
sticker = Sticker._from_graphql(
|
||||||
|
mercury["sticker_attachment"]
|
||||||
|
)
|
||||||
|
|
||||||
elif mercury.get("extensible_attachment"):
|
elif mercury.get("extensible_attachment"):
|
||||||
attachment = graphql_to_extensible_attachment(
|
attachment = graphql_to_extensible_attachment(
|
||||||
|
@@ -60,27 +60,6 @@ def get_customization_info(thread):
|
|||||||
return rtn
|
return rtn
|
||||||
|
|
||||||
|
|
||||||
def graphql_to_sticker(s):
|
|
||||||
if not s:
|
|
||||||
return None
|
|
||||||
sticker = Sticker(uid=s["id"])
|
|
||||||
if s.get("pack"):
|
|
||||||
sticker.pack = s["pack"].get("id")
|
|
||||||
if s.get("sprite_image"):
|
|
||||||
sticker.is_animated = True
|
|
||||||
sticker.medium_sprite_image = s["sprite_image"].get("uri")
|
|
||||||
sticker.large_sprite_image = s["sprite_image_2x"].get("uri")
|
|
||||||
sticker.frames_per_row = s.get("frames_per_row")
|
|
||||||
sticker.frames_per_col = s.get("frames_per_column")
|
|
||||||
sticker.frame_rate = s.get("frame_rate")
|
|
||||||
sticker.url = s.get("url")
|
|
||||||
sticker.width = s.get("width")
|
|
||||||
sticker.height = s.get("height")
|
|
||||||
if s.get("label"):
|
|
||||||
sticker.label = s["label"]
|
|
||||||
return sticker
|
|
||||||
|
|
||||||
|
|
||||||
def graphql_to_attachment(a):
|
def graphql_to_attachment(a):
|
||||||
_type = a["__typename"]
|
_type = a["__typename"]
|
||||||
if _type in ["MessageImage", "MessageAnimatedImage"]:
|
if _type in ["MessageImage", "MessageAnimatedImage"]:
|
||||||
@@ -360,7 +339,7 @@ def graphql_to_message(message):
|
|||||||
for m in message.get("message").get("ranges", [])
|
for m in message.get("message").get("ranges", [])
|
||||||
],
|
],
|
||||||
emoji_size=get_emojisize_from_tags(message.get("tags_list")),
|
emoji_size=get_emojisize_from_tags(message.get("tags_list")),
|
||||||
sticker=graphql_to_sticker(message.get("sticker")),
|
sticker=Sticker._from_graphql(message.get("sticker")),
|
||||||
)
|
)
|
||||||
rtn.uid = str(message.get("message_id"))
|
rtn.uid = str(message.get("message_id"))
|
||||||
rtn.author = str(message.get("message_sender").get("id"))
|
rtn.author = str(message.get("message_sender").get("id"))
|
||||||
|
@@ -37,3 +37,24 @@ class Sticker(Attachment):
|
|||||||
|
|
||||||
def __init__(self, uid=None):
|
def __init__(self, uid=None):
|
||||||
super(Sticker, self).__init__(uid=uid)
|
super(Sticker, self).__init__(uid=uid)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _from_graphql(cls, data):
|
||||||
|
if not data:
|
||||||
|
return None
|
||||||
|
self = cls(uid=data["id"])
|
||||||
|
if data.get("pack"):
|
||||||
|
self.pack = data["pack"].get("id")
|
||||||
|
if data.get("sprite_image"):
|
||||||
|
self.is_animated = True
|
||||||
|
self.medium_sprite_image = data["sprite_image"].get("uri")
|
||||||
|
self.large_sprite_image = data["sprite_image_2x"].get("uri")
|
||||||
|
self.frames_per_row = data.get("frames_per_row")
|
||||||
|
self.frames_per_col = data.get("frames_per_column")
|
||||||
|
self.frame_rate = data.get("frame_rate")
|
||||||
|
self.url = data.get("url")
|
||||||
|
self.width = data.get("width")
|
||||||
|
self.height = data.get("height")
|
||||||
|
if data.get("label"):
|
||||||
|
self.label = data["label"]
|
||||||
|
return self
|
||||||
|
@@ -9,7 +9,6 @@ from ._graphql import (
|
|||||||
WHITESPACE,
|
WHITESPACE,
|
||||||
ConcatJSONDecoder,
|
ConcatJSONDecoder,
|
||||||
get_customization_info,
|
get_customization_info,
|
||||||
graphql_to_sticker,
|
|
||||||
graphql_to_attachment,
|
graphql_to_attachment,
|
||||||
graphql_to_extensible_attachment,
|
graphql_to_extensible_attachment,
|
||||||
graphql_to_subattachment,
|
graphql_to_subattachment,
|
||||||
|
Reference in New Issue
Block a user