from youtube import api from youtube import config import csv from retrying import retry import sys @retry(stop_max_attempt_number=10, wait_fixed=0.5) def execute_call(youtube_call): return youtube_call.execute() def patch_metadata(asset_id, artist_name, owner): partner = config.api_mapping.youtube_partner body = { "metadata": { "artist": [ artist_name ] }, "metadataMine": { "artist": [ artist_name ] } } patch_call = partner.assets().patch( assetId=asset_id, onBehalfOfContentOwner=owner, body=body) result = execute_call(patch_call) return result OWNER = 'theorchardmusic' patch_log = open('patch_log.txt', 'w') with open('patch_metadata_test.csv', 'r') as csvfile: reader = csv.DictReader(csvfile, delimiter=',', quotechar='"') for row in reader: asset_id = row['asset_id'] artist_name = row['artistname'] response = patch_metadata(asset_id, artist_name, OWNER) patch_log.write(str(response)) patch_log.write('\n') patch_log.close