Move graphql_to_sticker -> Sticker._from_graphql

This commit is contained in:
Mads Marquart
2019-03-07 19:07:00 +01:00
parent 279f637c75
commit 3440039610
4 changed files with 25 additions and 24 deletions

View File

@@ -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(

View File

@@ -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"))

View File

@@ -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

View File

@@ -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,