asm.setid("animal", 100) asm.setid("owner", 100) asm.setid("ownerlicence", 100) asm.setid("ownerdonation", 100) asm.setid("animalcontrol", 100) print "\\set ON_ERROR_STOP\nBEGIN;" print "DELETE FROM animal WHERE ID >= 100;" print "DELETE FROM animalcontrol WHERE ID >= 100;" print "DELETE FROM owner WHERE ID >= 100;" print "DELETE FROM ownerlicence WHERE ID >= 100;" print "DELETE FROM ownerdonation WHERE ID >= 100;" # pre-load address and residences mappings addresses = {} for a in asm.read_dbf("%s/ADDRESS.DBF" % PATH): addresses[a["ADDRESSNO"]] = a residences = {} for r in asm.read_dbf("%s/RESIDENC.DBF" % PATH): residences[r["PERSONNO"]] = r for p in asm.read_dbf("%s/PERSON.DBF" % PATH): if p["PERSONNO"] == "New": continue o = asm.Owner() owners.append(o) ppo[p["PERSONNO"]] = o o.OwnerForeNames = p["FIRSTNAME"] o.OwnerSurname = p["LASTNAME"] if p["AGENCY"] != "" and o.OwnerSurname == "": o.OwnerSurname = p["AGENCY"]
print("\\set ON_ERROR_STOP\nBEGIN;") print("DELETE FROM animal WHERE ID >= %s;" % START_ID) print("DELETE FROM animalcontrol WHERE ID >= %s;" % START_ID) print("DELETE FROM owner WHERE ID >= %s;" % START_ID) print("DELETE FROM ownerdonation WHERE ID >= %s;" % START_ID) print("DELETE FROM ownerlicence WHERE ID >= %s;" % START_ID) print("DELETE FROM adoption WHERE ID >= %s;" % START_ID) print("DELETE FROM log WHERE ID >= %s;" % START_ID) # Create an unknown owner uo = asm.Owner() owners.append(uo) uo.OwnerSurname = "Unknown Owner" uo.OwnerName = uo.OwnerSurname for p in asm.read_dbf("%s/NAMES.DBF" % PATH): o = asm.Owner() owners.append(o) ppo[p["ID"]] = o o.OwnerForeNames = p["F_NAME"].title() o.OwnerSurname = p["L_NAME"].title() o.OwnerAddress = "%s %s\n%s" % (p["ADR_ST_NUM"].title(), p["ADR_ST_NAM"].title(), p["ADR_LINE2"].title()) o.OwnerTown = p["CITY"].title() o.OwnerCounty = p["STATE"] o.OwnerPostcode = p["ZIP"] o.HomeTelephone = p["H_PHONE"] o.WorkTelephone = p["W_PHONE"] comments = "ID: %s" % p["ID"] comments += "\n%s" % asm.nulltostr(p["NAMES_TXT"])
def open_dbf(name): return asm.read_dbf(name)
def open_dbf(name): return asm.read_dbf("%s/%s.dbf" % (PATH, name))