def main(argv): db_session = DB_Session_Factory.get_db_session() deletion_sql = Interviewer.__table__.delete('1') db_session.execute(deletion_sql) interviewers = {} with open("scripts/interviewers.dat", "r") as interviewer_file: for interviewer_info in interviewer_file: interviewer_info = interviewer_info.strip(' \t\n\r') if not interviewer_info: continue interviewer_data = interviewer_info.split("\t") print interviewer_data[0] + "\t" + interviewer_data[1] + "\t" + interviewer_data[2] interviewer = Interviewer(interviewer_data[1], interviewer_data[0], interviewer_data[2]) if len(interviewer_data) == 4: original_url = interviewer_data[3] final_url = '/avatars/' + interviewer.name.lower().replace(' ', '-') match = re.search('\.([^.]*?)$', original_url) if match: final_url += '.' + match.group(1) local_path = ROOT + final_url if not path.isfile(local_path): print 'Downloading image for ' + final_url urlretrieve(interviewer_data[3], local_path) interviewer.avatar_url = final_url interviewers[interviewer_data[1]] = interviewer db_session.add(interviewer) print "Adding opt-ins now..." for optin in db_session.query(Opt_In): if interviewers.get(optin.email, None) is None: print optin.name + "\t" + optin.email + "\t" + optin.phone_number; db_session.add(Interviewer(optin.email, optin.name, optin.phone_number)) db_session.commit()
def main(argv): db_session = DB_Session_Factory.get_db_session() deletion_sql = Interviewer.__table__.delete('1') db_session.execute(deletion_sql) interviewers = {} with open("../data/bootstrap/interviewers.dat", "r") as interviewer_file: for interviewer_info in interviewer_file: interviewer_info = interviewer_info.strip(' \t\n\r') if not interviewer_info: continue interviewer_data = interviewer_info.split("\t") print interviewer_data[0] + "\t" + interviewer_data[1] + "\t" + interviewer_data[2] interviewer = Interviewer(interviewer_data[1], interviewer_data[0], interviewer_data[2]) if len(interviewer_data) == 4: original_url = interviewer_data[3] final_url = '/avatars/' + interviewer.name.lower().replace(' ', '-') match = re.search('\.([^.]*?)$', original_url) if match: final_url += '.' + match.group(1) local_path = ROOT + final_url if not path.isfile(local_path): print 'Downloading image for ' + final_url urlretrieve(interviewer_data[3], local_path) interviewer.avatar_url = final_url interviewers[interviewer_data[1]] = interviewer db_session.add(interviewer) db_session.execute(Interviewer_Tag.__table__.delete('1')) for dir_name, dir_names, file_names in walk("../data/bootstrap/tags", "r"): for tag_name in file_names: print "Adding tag <" + tag_name + ">" file_path = path.join(dir_name, tag_name) tag = Interviewer_Tag(tag_name) interviewers_for_tag = [] with open(file_path, "r") as tag_file: for interviewer_email in tag_file: interviewer_email = interviewer_email.strip(' \t\n\r') interviewer = db_session.query(Interviewer).get(interviewer_email) if interviewer is None: raise Exception("Invalid interviewer info in the bootstrap data: " + interviewer_email) tag.add_interviewer(interviewer) db_session.add(tag) db_session.commit()