Inspecting Database and MTS Sites¶
Inspecting Database and MTS Sites¶
1db = impact.active_database
2
3
4def describe_values(values):
5 for i in range(1, values.field_count + 1):
6 impact.gui.output_toolbox.add("Column: " + str(values.field_name(i)) + " Value:'" + str(values.load(values.field_name(i))) + "'")
7
8# -------------------------------------------------------------------------------
9def describe_site(site):
10 if site is None:
11 return
12
13 impact.gui.output_toolbox.add("**** Site ****")
14 impact.gui.output_toolbox.add("Key: " + str(site.key) + ", full_name: " + site.full_name + ", description: " + str(site.description))
15
16 describe_values(site.values)
17
18 addresses = site.addresses
19
20 if addresses.count > 0:
21 impact.gui.output_toolbox.add("Address Count: " + str(addresses.count))
22
23 for i in range(1, addresses.count + 1):
24 impact.gui.output_toolbox.add("**** Address " + str(i) + " ****")
25
26 describe_values(addresses.item(i).values)
27
28# -------------------------------------------------------------------------------
29def test_user_site():
30 impact.gui.output_toolbox.add("**** User site ****")
31 user = db.users.item("ADMIN")
32
33 if not user.isNone():
34 describe_site(user.site)
35
36# -------------------------------------------------------------------------------
37def find_database_site():
38 impact.gui.output_toolbox.add("**** Find By full_name ****")
39
40 if not db.sites.isNone():
41 describe_site(db.sites.item("MANCHESTER"))
42
43# -------------------------------------------------------------------------------
44def test_database_sites():
45 impact.gui.output_toolbox.add("**** All Sites ****")
46
47 if not db.sites.isNone():
48 impact.gui.output_toolbox.add("Site Count: " + str(db.sites.count))
49 for i in range(1, db.sites.count + 1):
50 describe_site(db.sites.item(i))
51
52 # Alternative syntax
53 # for each site in db.sites
54 # DescribeSite site
55 # next
56# -------------------------------------------------------------------------------
57def test_mts_sites():
58 impact.gui.output_toolbox.add("**** Mts Sites ****")
59 ms = db.find_master_tool_setting("3D-DXF", ipMasterSettingType.mstImportExport)
60
61 if ms is not None:
62 if ms.sites is not None:
63 impact.gui.output_toolbox.add("Site Count: " + str(ms.sites.count))
64 for i in range(1, ms.sites.count + 1):
65 impact.gui.output_toolbox.add(ms.sites.item(i).full_name)
66
67# -------------------------------------------------------------------------------
68def test_customer_sites():
69 impact.gui.output_toolbox.add("**** customer Sites ****")
70 cust = db.customers.find_by_code("(DEFAULT CUSTOMER)")
71
72 if cust is not None:
73 if cust.sites is not None:
74 impact.gui.output_toolbox.add("Site Count: " + str(cust.sites.count))
75 for i in range(1, cust.sites.count + 1):
76 impact.gui.output_toolbox.add(cust.sites.item(i).full_name)
77
78 impact.gui.output_toolbox.add("**** Site Customers ****")
79 impact.gui.output_toolbox.add("Total Customers: " + str(db.customers.count))
80 for site in db.sites:
81 if site.customers is not None:
82 impact.gui.output_toolbox.add("Site '" + site.full_name + "' customer Count: " + str(site.customers.count))
83
84# -------------------------------------------------------------------------------
85def space_out():
86 for i in range(1, 2 + 1):
87 impact.gui.output_toolbox.add(" ")
88
89# -------------------------------------------------------------------------------
90
91impact.gui.output_toolbox.clear()
92
93if not db.settings.db_sites:
94 impact.gui.output_toolbox.add("Database Sites are not enabled")
95else:
96 TestUserSite()
97 SpaceOut()
98 FindDatabaseSite()
99 SpaceOut()
100 TestDatabaseSites()
101 SpaceOut()
102
103 if not db.settings.mts_sites:
104 impact.gui.output_toolbox.add("MTS Sites are not enabled")
105 else:
106 TestMtsSites()
107 SpaceOut()
108
109 if not db.settings.customer_sites:
110 impact.gui.output_toolbox.add("customer Sites are not enabled")
111 else:
112 TestCustomerSites()
113 SpaceOut()