import psycopg2 _conn_params = dict( user="", password="", host="127.0.0.1", port="5432", database="itunes" ) valid_releases_sql = ''' select r.release_id, r.upc, r.display_upc from releases r left join releases_itunes_search_by_upc d on r.release_id = d.release_id where d.apple_artist_id is null and d.release_id is null ; ''' unique_valid_releases_sql = ''' select r.release_id, r.upc, r.display_upc from releases r left join releases_itunes_search_by_upc d on r.release_id = d.release_id where d.apple_artist_id is null and d.release_id is null ; ''' insert_itunes_responses = ''' insert into releases_itunes_search_by_upc (release_id, display_upc, upc, response, apple_artist_id, result_count) values (%s, %s, %s, %s, %s, %s); ''' def get_valid_releases(): with psycopg2.connect(**_conn_params) as conn: with conn.cursor() as curs: curs.execute(valid_releases_sql) return ( {'release_id': r[0], 'upc': r[1], 'display_upc': r[2]} for r in curs.fetchall()) def dump_itunes_responses(items): try: if items: with psycopg2.connect(**_conn_params) as conn: with conn.cursor() as curs: curs.executemany(insert_itunes_responses, items) except Exception as e: print(items) raise e