

def update_video_views(gplus_id):
    'Iterate through ActivityRecords and get video views'
    logging.info('Updating Video Views')
    API_KEY = get_server_api_key()
    yt_service = build('youtube', 'v3', developerKey=API_KEY)
    activities = ActivityRecord.query((ActivityRecord.gplus_id == gplus_id), (ActivityRecord.metadata.type == '#video'))
    for activity in activities:
        for meta in activity.metadata:
            if (meta.link is not None):
                video_id = is_youtube_video(meta.link)
                if (video_id is not False):
                    logging.info('linked YT video found %s', video_id)
                    stats = yt_service.videos().list(part='statistics', id=video_id).execute()
                    views = stats['items'][0]['statistics']['viewCount']
                    meta.impact = int(views)
                    logging.info('video meta stats updated: %s', views)
        activity.put()

dataset/ETHPy150Open GoogleDeveloperExperts/experts-app-backend/services/update_gplus.py update_video_views/original