def update_romeo_videos(data): vdata = data['video'] assert vdata['source'] == 'ooyala' source = Source.label_to_id(vdata['source']) # update existing or create new key = dict(source=source, source_videoid=vdata['source_id']) video = Video.query.filter_by(**key).first() or Video(**key).add() video.title = data['title'] video.description = vdata['description'] video.duration = vdata['duration'] video.date_published = datetime.strptime( vdata['source_date_uploaded'][:19], '%Y-%m-%dT%H:%M:%S') video.source_username = vdata['source_username'] video.link_url = vdata['link_url'] video.link_title = vdata['link_title'] video.category = data['category'] video.thumbnails = [VideoThumbnail(**t) for t in data['thumbnails']]
def _update_channel_videos(channel, data): playlist = youtube.parse_atom_playlist_data(data) source = Source.label_to_id('youtube') Video.add_videos(playlist.videos, source) channel.add_videos(playlist.videos)