GitHub - Divoli/ipnd: Australian IPND (Integrated Public Number Database) Client
Licenced under the AGPLv3.
from ipnd import record, IPND
person = record.Person()
person.set_name("Herp L. Derpinson", "Mr")
person.set_contactnum("0402000000")
business = record.Business()
business.set_name("Extremely Long Name Pty Ltd, Trading as Stupidly Long Name Incorporated")
business.set_contactnum("0402000000")
address = record.HouseAddress()
address.set_street_number("1")
address.set_street_name("FAKE", "ST")
address.set_locality("0200", "ANU", "ACT")
# This is the File Sequence Number
i = IPND(source="XXXXX", seq=2)
nums = (("0749700000", person), ("0749700001", business))
for num, entity in nums:
t = record.Transaction()
t.add_entry(record.CSPCode("999"))
t.add_entry(record.DPCode("YYYYYY"))
t.add_entry(record.PublicNumber(num))
t.add_entry(record.UsageCode(entity))
t.add_entry(record.ServiceStatusCode("C"))
t.add_entry(record.PendingFlag("N"))
t.add_entry(record.CancelPendingFlag("N"))
t.add_entry(record.CustomerName(entity))
t.add_entry(record.FindingName(entity))
t.add_entry(record.ServiceAddress(address))
t.add_entry(record.DirectoryAddress(address))
t.add_entry(record.ListCode("UL"))
t.add_entry(record.CustomerContact(entity))
i.add_transaction(t)
output = i.generate_to_string()
print(output)