def parse_spud_for_unknown_fan(status): media = [m for m in status.entities['media'] if m.get('type', None) == 'photo'][0] spud = SpudFromSocialMedia( entity_type="FAN", originating_service='TWITTER', unique_id_from_source=status.id_str, state=SpudFromSocialMedia.STATE_NEW, type=SpudFromSocialMedia.TYPE_IMAGE, data=json.dumps({ 'service': 'TWITTER', 'user': { 'username': status.user.screen_name, 'id': status.id_str, 'profile_picture': status.user.profile_image_url_https }, 'text': [status.text], 'image': { 'standard_resolution': { 'url': media.get('media_url_https', ''), 'width': media.get('sizes', {}).get('large', {}).get('w', 0), 'height': media.get('sizes', {}).get('large', {}).get('h', 0), } } })) spud.save() return spud
def social_spud_from_instagram_update(data, venue_id): id = data.get('id', None) if not id: return None type = data.get('type', None) if type != "image": return None if SpudFromSocialMedia.objects.filter(unique_id_from_source=id, originating_service='INSTAGRAM').count(): return None spud = SpudFromSocialMedia( entity_type="VENUE", entity_id=venue_id, originating_service='INSTAGRAM', unique_id_from_source=id, state=SpudFromSocialMedia.STATE_NEW, type=SpudFromSocialMedia.TYPE_IMAGE, data=json.dumps({ 'service': 'INSTAGRAM', 'user': { 'username': data.get('user', {}).get('username', None), 'id': data.get('user', {}).get('id', None), 'profile_picture': data.get('user', {}).get('profile_picture', None) }, 'text': [data['caption']['text']] if data.get('caption', None) and 'text' in data['caption'] else [], 'image': { 'standard_resolution': { 'url': data.get('images', {}).get('low_resolution', {}).get('url', None), 'width': data.get('images', {}).get('low_resolution', {}).get('width', None), 'height': data.get('images', {}).get('low_resolution', {}).get('height', None), } } })) spud.save() return spud
def social_spud_from_instagram_update(data, venue_id): id = data.get('id', None) if not id: return None type = data.get('type', None) if type != "image": return None if SpudFromSocialMedia.objects.filter( unique_id_from_source=id, originating_service='INSTAGRAM').count(): return None spud = SpudFromSocialMedia( entity_type="VENUE", entity_id=venue_id, originating_service='INSTAGRAM', unique_id_from_source=id, state=SpudFromSocialMedia.STATE_NEW, type=SpudFromSocialMedia.TYPE_IMAGE, data=json.dumps({ 'service': 'INSTAGRAM', 'user': { 'username': data.get('user', {}).get('username', None), 'id': data.get('user', {}).get('id', None), 'profile_picture': data.get('user', {}).get('profile_picture', None) }, 'text': [data['caption']['text']] if data.get('caption', None) and 'text' in data['caption'] else [], 'image': { 'standard_resolution': { 'url': data.get('images', {}).get('low_resolution', {}).get('url', None), 'width': data.get('images', {}).get('low_resolution', {}).get('width', None), 'height': data.get('images', {}).get('low_resolution', {}).get('height', None), } } })) spud.save() return spud
def parse_spud_for_unknown_fan(status): media = [ m for m in status.entities['media'] if m.get('type', None) == 'photo' ][0] spud = SpudFromSocialMedia(entity_type="FAN", originating_service='TWITTER', unique_id_from_source=status.id_str, state=SpudFromSocialMedia.STATE_NEW, type=SpudFromSocialMedia.TYPE_IMAGE, data=json.dumps({ 'service': 'TWITTER', 'user': { 'username': status.user.screen_name, 'id': status.id_str, 'profile_picture': status.user.profile_image_url_https }, 'text': [status.text], 'image': { 'standard_resolution': { 'url': media.get('media_url_https', ''), 'width': media.get('sizes', {}).get('large', {}).get('w', 0), 'height': media.get('sizes', {}).get('large', {}).get('h', 0), } } })) spud.save() return spud