コード例 #1
0
ファイル: miguktrade.py プロジェクト: clioworldtables/clio
      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

コード例 #2
0
    del rdict["primary_source_1"]
    del rdict["primary_source_2"]

    rdict["active"] = True
    rdict["submitted_by"] = migtools.mig_user
    
    try:
      entry = BilateralTradeDataEntry(**rdict)

      if entry.imports == "-9":
        if entry.exports == "-9":
          sys.stdout.write("[%i] %s - %s (dropped; missing data)\n" % (i, entry.location, entry.trade_partner))
          continue
        else:
          entry.imports = None
      elif entry.exports == "-9":
        entry.exports == None 
      else: # TEMPORARY: add only entries with missing data
        sys.stdout.write("[%i] %s - %s (ignored for now)\n" % (i, entry.location, entry.trade_partner))
        continue 

      entry.save()
      num_mig += 1
      sys.stdout.write("[%i] %s - %s\n" % (i, entry.location, entry.trade_partner))
    except (ValueError, DatabaseError, ValidationError) as e:
      sys.stderr.write('Failed to save data row (%i): %s\n' % (i, e))
      num_err_rows += 1

  print 'Migration complete. %i rows migrated, %i locations created, and %i row errors encountered and ignored' % (num_mig, num_locs, num_err_rows)