import psycopg2 _conn_params = dict( user="postgres", password="", host="127.0.0.1", port="5432", database="postgres" ) releases_sql = ''' select r.release_id, r.upc, r.display_upc from releases r left join releases_spotify_search_by_upc_ssavva rs on r.release_id = rs.release_id where rs.response is null; ''' valid_releases_sql = ''' select r.release_id, r.upc, r.display_upc from valid_releases r ; ''' insert_spotify_responses = ''' insert into releases_spotify_search_by_upc_ssavva (release_id, display_upc, upc, response) values (%s, %s, %s, %s); ''' insert_itunes_responses = ''' insert into releases_itunes_search_by_upc_ssavva (release_id, display_upc, upc, response) values (%s, %s, %s, %s); ''' def get_releases(): with psycopg2.connect(**_conn_params) as conn: with conn.cursor() as curs: curs.execute(releases_sql) return ( {'release_id': r[0], 'upc': r[1], 'display_upc': r[2]} for r in curs.fetchall()) 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_responses(items): try: if items: with psycopg2.connect(**_conn_params) as conn: with conn.cursor() as curs: curs.executemany(insert_spotify_responses, items) except Exception as e: print(items) raise e 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