def fill_actors(actors_csv='http_linkers/actors.csv'): conn = IMDB() conn.execute_query('DELETE FROM actors;') with open(actors_csv, 'rb') as fp: reader = csv.reader(fp) for row in reader: for index, actor_id in enumerate(row[1:], 1): q = 'INSERT INTO actors (movie_id,person_id,`index`) ' \ 'VALUES (%s,%s,%s);' conn.execute_query(q, row[0], actor_id, index)
def fill_stars(stars_csv='http_linkers/stars.csv'): conn = IMDB() conn.execute_query('DELETE FROM stars;') with open(stars_csv, 'rb') as fp, \ open('stars/db_success.txt', 'wb', 0) as succ_fp, \ open('stars/db_failed.txt', 'wb', 0) as fail_fp, \ open('stars/db_log.txt', 'wb', 0) as log_fp: reader = csv.reader(fp) pr = re.compile(r'.*[\[\]\,].*') for row in reader: try: imdb_id = row[0] stars = [x for x in row[1].split('\'') if pr.match(x) is None] process_movie(conn, imdb_id, stars) succ_fp.write(imdb_id + '\n') # print("{} : {} ".format(mov_id, stars)) except Exception, e: fail_fp.write(imdb_id + '\n') log_fp.write( " AT <{}> : {} \n {} \n".format(imdb_id, e, traceback.format_exc()))
def fill_movie_imdbid(): imdb_conn = IMDb('sql', DB_URI) cust_conn = IMDB() ids = cust_conn.fetch_vec('SELECT id FROM title WHERE imdb_id IS NULL;') for id in ids: print id imdb_conn.get_imdbMovieID(id) cust_conn.execute_query( 'UPDATE movie,title SET movie.imdb_id=title.imdb_id WHERE title.id=movie.id;') cust_conn.execute_query("INSERT INTO missing_movies (SELECT * FROM movie WHERE " "imdb_id IS NULL);") cust_conn.execute_query("DELETE FROM movie WHERE imdb_id IS NULL;")