Update graphql.py

This commit is contained in:
Kacper Ziubryniewicz
2018-09-29 13:42:11 +02:00
committed by GitHub
parent 8169a5f776
commit b0bf5ba8e0

View File

@@ -134,32 +134,38 @@ def graphql_to_extensible_attachment(a):
_type = story['target']['__typename'] _type = story['target']['__typename']
if _type == 'MessageLocation': if _type == 'MessageLocation':
latitude, longitude = get_url_parameter(get_url_parameter(story['url'], 'u'), 'where1').split(", ") latitude, longitude = get_url_parameter(get_url_parameter(story['url'], 'u'), 'where1').split(", ")
return LocationAttachment( rtn = LocationAttachment(
uid=int(story['deduplication_key']), uid=int(story['deduplication_key']),
latitude=float(latitude), latitude=float(latitude),
longitude=float(longitude), longitude=float(longitude),
image=story['media']['image']['uri'],
url=story['url'],
) )
rtn.image_url = story['media']['image']['uri']
rtn.image_width = story['media']['image']['width']
rtn.image_height = story['media']['image']['height']
rtn.url = story['url']
return rtn
elif _type == 'MessageLiveLocation': elif _type == 'MessageLiveLocation':
return LiveLocationAttachment( rtn = LiveLocationAttachment(
uid=int(story['target']['live_location_id']), uid=int(story['target']['live_location_id']),
latitude=story['target']['coordinate']['latitude'] if story['target'].get('coordinate') else None, latitude=story['target']['coordinate']['latitude'] if story['target'].get('coordinate') else None,
longitude=story['target']['coordinate']['longitude'] if story['target'].get('coordinate') else None, longitude=story['target']['coordinate']['longitude'] if story['target'].get('coordinate') else None,
image=story['media']['image']['uri'] if story.get('media') else None,
url=story['url'],
name=story['title_with_entities']['text'], name=story['title_with_entities']['text'],
expiration_time=story['target']['expiration_time'] if story['target'].get('expiration_time') else None, expiration_time=story['target']['expiration_time'] if story['target'].get('expiration_time') else None,
is_expired=story['target']['is_expired'], is_expired=story['target']['is_expired'],
) )
rtn.image_url = story['media']['image']['uri']
rtn.image_width = story['media']['image']['width']
rtn.image_height = story['media']['image']['height']
rtn.url = story['url']
return rtn
elif _type in ['ExternalUrl', 'Story']: elif _type in ['ExternalUrl', 'Story']:
return ShareAttachment( return ShareAttachment(
uid=a.get('legacy_attachment_id'), uid=a.get('legacy_attachment_id'),
author=story['target']['actors'][0]['id'] if story['target'].get('actors') else None, author=story['target']['actors'][0]['id'] if story['target'].get('actors') else None,
url=story['url'], url=story['url'],
original_url=get_url_parameter(story['url'], 'u') if "/l.php?u=" in story['url'] else story['url'], original_url=get_url_parameter(story['url'], 'u') if "/l.php?u=" in story['url'] else story['url'],
title=story['title_with_entities']['text'], title=story['title_with_entities'].get('text'),
description=story['description']['text'], description=story['description'].get('text'),
source=story['source']['text'], source=story['source']['text'],
image_url=story['media']['image']['uri'] if story.get('media') else None, image_url=story['media']['image']['uri'] if story.get('media') else None,
original_image_url=(get_url_parameter(story['media']['image']['uri'], 'url') if "/safe_image.php" in story['media']['image']['uri'] else story['media']['image']['uri']) if story.get('media') else None, original_image_url=(get_url_parameter(story['media']['image']['uri'], 'url') if "/safe_image.php" in story['media']['image']['uri'] else story['media']['image']['uri']) if story.get('media') else None,
@@ -175,9 +181,7 @@ def graphql_to_subattachment(a):
return VideoAttachment( return VideoAttachment(
duration=a['media'].get('playable_duration_in_ms'), duration=a['media'].get('playable_duration_in_ms'),
preview_url=a['media'].get('playable_url'), preview_url=a['media'].get('playable_url'),
small_image=a['media'].get('image'),
medium_image=a['media'].get('image'), medium_image=a['media'].get('image'),
large_image=a['media'].get('image'),
uid=a['target'].get('video_id'), uid=a['target'].get('video_id'),
) )