def loadEngagerAndCompanyToDB(filePath): with open(filePath, 'rU') as f: db = DBController() reader = csv.reader(f) for i, line in enumerate(reader): line = [word.strip() for word in line] if i == 0: continue if db.getEngagerByName(line[5]) is None: engagerDict = {'name' : line[5], 'lastName' : line[6], 'type' : ENGAGER_CEO, 'gender' : line[-1]} db.insertEngager(engagerDict) if db.getCompanyByName(line[3]) is None: engagerDict = db.getEngagerByName(line[5]) companyDict = {'_id' : int(line[2]), 'name' : line[3], 'shortName' : line[4], 'code' : line[0], 'CEO' : {line[1] : engagerDict['_id']}} db.insertCompany(companyDict) else: engagerDict = db.getEngagerByName(line[5]) companyDict = db.getCompanyByName(line[3]) companyDict['CEO'][line[1]] = engagerDict['_id'] db.updateCompanyCEO(companyDict['_id'], companyDict['CEO']) for name in ['CEO', 'Executive']: engagerDict = {'name' : name, 'lastName' : name, 'type' : ENGAGER_CEO} db.insertEngager(engagerDict) for name in ['analyst']: engagerDict = {'name' : name, 'lastName' : name, 'type' : ENGAGER_ANALYST} db.insertEngager(engagerDict)