Finding customers (Python)

Finding customers (Python)
 1db = impact.active_database
 2
 3def DescribeCustomer(customer):
 4    if customer.isNone():
 5        return
 6
 7    impact.gui.output_toolbox.add("Code: " + customer.code)
 8    impact.gui.output_toolbox.add("Name: " + customer.name)
 9    impact.gui.output_toolbox.add("Name: " + customer.formatted_name)
10    impact.gui.output_toolbox.add("Key: " + str(customer.key))
11    impact.gui.output_toolbox.add("Active: " + str(customer.active))
12
13impact.gui.output_toolbox.clear()
14
15impact.gui.output_toolbox.add("**** All Customers ****")
16impact.gui.output_toolbox.add("customer Count: " + str(db.customers.count))
17for i in range(1, db.customers.count + 1):
18    pass
19    # DescribeCustomer db.customers.item(i)
20# Alternative syntax
21# for each cust in db.customers
22# DescribeCustomer cust
23# next
24
25impact.gui.output_toolbox.add("**** Find By Code 'DEF01' ****")
26DescribeCustomer(db.customers.find_by_code("DEF01"))
27
28impact.gui.output_toolbox.add("**** Find By Name 'Default' ****")
29DescribeCustomer(db.customers.find_by_name("Default"))
30
31impact.gui.output_toolbox.add("**** Find By SQL 'CS_NAME like 'Def'' ****")
32customers = db.customers.find_by_sql("CS_NAME like 'Def'", 0)
33
34for customer in customers:
35    DescribeCustomer(customer)
36impact.gui.output_toolbox.add("**** Find By SQL '<$name$> like 'Def'' (Substitution) ****")
37customers = db.customers.find_by_sql("<$name$> like 'Def'", 0)
38
39for customer in customers:
40    DescribeCustomer(customer)
41impact.gui.output_toolbox.add("**** Find by SQL <$active$> (Substitution) ****")
42customers = db.customers.find_by_sql("<$active$> = 1", 0)
43
44for customer in customers:
45    DescribeCustomer(customer)
46impact.gui.output_toolbox.add("**** Count by SQL <$activeclause$> and <$inactiveclause$> (Substitution) ****")
47impact.gui.output_toolbox.add("customer Count: " + str(db.customers.count))
48impact.gui.output_toolbox.add("Active customer Count: " + str(db.customers.count_by_sql("<$activeclause$>")))
49impact.gui.output_toolbox.add("Inactive customer Count: " + str(db.customers.count_by_sql("<$inactiveclause$>")))