else: rdict[loc_name] = Location(name = codebook_dict[rdict[loc_name]], submitted_by = migtools.mig_user, active = True) rdict[loc_name].save() new_locs_added.add(rdict[loc_name].name) else: locs_excluded += 1 sys.stdout.write("[%i] Location '%s' excluded\n" % (i, rdict[loc_name])) continue rdict["begin_date"] = datetime.date(int(float(rdict["year"])), 1, 1) rdict["end_date"] = datetime.date(int(float(rdict["year"])), 12, 31) del rdict["year"] rdict["active"] = True rdict["submitted_by"] = migtools.mig_user rdict["source"] = src try: entry = BilateralTradeDataEntry(**rdict) entry.save() num_mig += 1 sys.stdout.write("[%i] %s\n" % (i, entry)) except (ValueError, DatabaseError, ValidationError) as e: sys.stderr.write('[%i] Failed to save data row: %s\n' % (i, e)) num_err_rows += 1 print 'Migration complete. %i rows migrated, %i rows excluded, %i locations excluded, and %i row errors encountered and ignored' % (num_mig, num_excluded, locs_excluded, num_err_rows) if len(new_locs_added) > 0: print("Locations added: %s" % (", ".join(new_locs_added)))
trade = map(clean_trade, row[1:]) i = 0 while i < len(trade): if trade[i]: if (exp_imp[i] == "imports") and ((i + 1) < len(trade)) and (partners[i] == partners[i + 1]) and trade[i + 1]: new_data = BilateralTradeDataEntry(location = loc, trade_partner = partners[i], imports = trade[i], exports = trade[i + 1], begin_date = begin_year, end_date = end_year, source = src, submitted_by = mig_user) new_data.save() i += 1 else: kwargs = { 'location' : loc, 'trade_partner' : partners[i], exp_imp[i] : trade[i], 'begin_date' : begin_year, 'end_date' : end_year, 'source' : src, 'submitted_by' : mig_user } new_data = BilateralTradeDataEntry(**kwargs) new_data.save() i += 1