Project And Layer Lookup¶
Project And Layer Lookup¶
1# This script shows how to use LookupProjectAndLayerKeysFromValue and LookupValueFromProjectOrLayerKey
2
3
4ot = impact.gui.output_toolbox
5
6look_opts.search_type = 1 # ipStringSearchType.sstBeginsWith'
7do_lookup(1, look_opts)
8
9look_opts.search_type = 2 # ipStringSearchType.sstContains'
10do_lookup(2, look_opts)
11
12look_opts.search_type = 3 # ipStringSearchType.sstEndsWith'
13do_lookup(3, look_opts)
14
15look_opts.search_type = 2 # ipStringSearchType.sstContains'
16look_opts.for_customer_keys = [651]
17do_lookup(4, look_opts)
18
19look_opts.for_customer_keys = [] # no customers (so no results)
20do_lookup(5, look_opts)
21
22look_opts.for_customer_keys = None # all customers
23do_lookup(6, look_opts)
24
25look_opts.max_results = 2
26do_lookup(7, look_opts)
27
28look_opts.table_name = "ONE_UP"
29look_opts.column_name = "OU_CADNUM"
30look_opts.search_type = 0 # ipStringSearchType.sstExact'
31look_opts.value = "3947"
32do_lookup(8, look_opts)
33
34look_opts.table_name = "LAYERS"
35look_opts.column_name = "L_CADNUM"
36look_opts.value = "49358205"
37
38
39def do_lookup(test_no, look_opts):
40 look_opts.max_results_exceeded = False
41 impact.active_database.lookup_project_and_layer_keys_from_value(look_opts)
42 title = "TEST " + str(c_str(test_no))
43
44 if look_opts.max_results_exceeded:
45 title =str(title) + " Max results (" + str(c_str(look_opts.max_results)) + ") exceeded"
46
47 ot.add(title)
48
49 p_array = look_opts.project_keys
50 l_array = look_opts.layer_keys
51 mv_array = look_opts.matching_values
52
53 # all 3 arrays will have the same bounds
54 if len(mv_array) - 1 == -1:
55 ot.add("Nothing found")
56 else:
57 for i in range(0, len(mv_array) - 1 + 1):
58 v = mv_array(i)
59 p = p_array(i)
60 v =str(v) + " (ProjectKey = " + str(c_str(p)) + ")"
61 l = l_array(i)
62
63 if l != 0:
64 v =str(v) + " (LayerKey = " + str(c_str(l)) + ")"
65
66 ot.add(v)
67
68 ot.add("")
69
70def do_reverse_lookup(test_no, tab_name, col_name, key):
71 impact.active_database.lookup_value_from_project_or_layer_key(tab_name, col_name, key, value)
72 ot.add("TEST " + str(c_str(test_no)))
73
74 if value != "":
75 ot.add(value)
76 else:
77 ot.add("Nothing found")
78
79 ot.add("")
80
81ot.clear()
82
83look_opts = impact.creator.lookup_project_and_layer_keys_from_value_params()
84look_opts.table_name = "DRAWINGS"
85look_opts.column_name = "D_NAME"
86look_opts.value = "poly"
87look_opts.search_type = 0 # ipStringSearchType.sstExact'
88look_opts.for_customer_keys = [651, 298, 361]
89do_lookup(0, look_opts)
90
91look_opts.search_type = 1 # ipStringSearchType.sstBeginsWith'
92do_lookup(1, look_opts)
93
94look_opts.search_type = 2 # ipStringSearchType.sstContains'
95do_lookup(2, look_opts)
96
97look_opts.search_type = 3 # ipStringSearchType.sstEndsWith'
98do_lookup(3, look_opts)
99do_lookup(4, look_opts)
100
101look_opts.for_customer_keys = [] # no customers (so no results)
102do_lookup(5, look_opts)
103
104look_opts.for_customer_keys = None # all customers
105do_lookup(6, look_opts)
106
107look_opts.max_results = 2
108do_lookup(7, look_opts)
109do_lookup(8, look_opts)
110do_lookup(9, look_opts)
111
112do_reverse_lookup(10, "DRAWINGS", "D_NAME", 1982)
113do_reverse_lookup(11, "ONE_UP", "OU_CADNUM", 49358205)
114do_reverse_lookup(12, "LAYERS", "L_CADNUM", 49358207)