itkdb-gtk 0.10.10.dev8__py3-none-any.whl → 0.10.10.dev9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of itkdb-gtk might be problematic. Click here for more details.
- itkdb_gtk/CreateShipments.py +4 -2
- itkdb_gtk/GetShipments.py +8 -6
- itkdb_gtk/GlueWeight.py +25 -39
- itkdb_gtk/PanelVisualInspection.py +4 -3
- itkdb_gtk/PetalReceptionTests.py +6 -4
- itkdb_gtk/UploadMultipleTests.py +3 -2
- itkdb_gtk/UploadTest.py +4 -2
- itkdb_gtk/VisualInspection.py +5 -5
- itkdb_gtk/WireBondGui.py +32 -1
- itkdb_gtk/__init__.py +1 -1
- itkdb_gtk/dashBoard.py +39 -19
- {itkdb_gtk-0.10.10.dev8.dist-info → itkdb_gtk-0.10.10.dev9.dist-info}/METADATA +1 -1
- itkdb_gtk-0.10.10.dev9.dist-info/RECORD +28 -0
- {itkdb_gtk-0.10.10.dev8.dist-info → itkdb_gtk-0.10.10.dev9.dist-info}/WHEEL +1 -1
- itkdb_gtk-0.10.10.dev8.dist-info/RECORD +0 -28
- {itkdb_gtk-0.10.10.dev8.dist-info → itkdb_gtk-0.10.10.dev9.dist-info}/entry_points.txt +0 -0
- {itkdb_gtk-0.10.10.dev8.dist-info → itkdb_gtk-0.10.10.dev9.dist-info}/top_level.txt +0 -0
itkdb_gtk/CreateShipments.py
CHANGED
|
@@ -41,7 +41,7 @@ class CreateShipments(dbGtkUtils.ITkDBWindow):
|
|
|
41
41
|
self.attachment = None
|
|
42
42
|
global gtk_runs
|
|
43
43
|
if gtk_runs:
|
|
44
|
-
super().__init__(session=session, title="
|
|
44
|
+
super().__init__(session=session, title="Create Shipment",
|
|
45
45
|
help_link=help_link, gtk_runs=gtk_runs)
|
|
46
46
|
self.init_window()
|
|
47
47
|
|
|
@@ -358,6 +358,8 @@ class CreateShipments(dbGtkUtils.ITkDBWindow):
|
|
|
358
358
|
def main():
|
|
359
359
|
"""Main entry."""
|
|
360
360
|
# main entry of the program
|
|
361
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch"
|
|
362
|
+
|
|
361
363
|
dlg = ITkDBlogin.ITkDBlogin()
|
|
362
364
|
client = dlg.get_client()
|
|
363
365
|
if client is None:
|
|
@@ -366,7 +368,7 @@ def main():
|
|
|
366
368
|
sys.exit()
|
|
367
369
|
|
|
368
370
|
client.user_gui = dlg
|
|
369
|
-
IS = CreateShipments(client)
|
|
371
|
+
IS = CreateShipments(client, help_link="{}/createShipment.html".format(HELP_LINK))
|
|
370
372
|
IS.set_accept_focus(True)
|
|
371
373
|
IS.present()
|
|
372
374
|
IS.connect("destroy", Gtk.main_quit)
|
itkdb_gtk/GetShipments.py
CHANGED
|
@@ -186,14 +186,14 @@ class ReceiveShipments(dbGtkUtils.ITkDBWindow):
|
|
|
186
186
|
try:
|
|
187
187
|
txt = find_vtrx(self.session, txt)
|
|
188
188
|
except ValueError as e:
|
|
189
|
-
self.write_message("Error: {}".format(e))
|
|
189
|
+
self.write_message("Error: {}\n".format(e))
|
|
190
190
|
return
|
|
191
191
|
|
|
192
192
|
# search code in the list
|
|
193
193
|
if self.store:
|
|
194
194
|
lv_iter = self.store.get_iter_first()
|
|
195
195
|
while lv_iter:
|
|
196
|
-
if
|
|
196
|
+
if self.store.get_value(lv_iter, 0) == txt:
|
|
197
197
|
self.write_message("...found\n")
|
|
198
198
|
self.store[lv_iter][3] = False
|
|
199
199
|
|
|
@@ -275,7 +275,7 @@ class ReceiveShipments(dbGtkUtils.ITkDBWindow):
|
|
|
275
275
|
valid_sender = True
|
|
276
276
|
if self.institute is not None:
|
|
277
277
|
valid_sender = s['sender']['code'] == self.institute
|
|
278
|
-
|
|
278
|
+
|
|
279
279
|
if s["recipient"]["code"] == self.recipient and valid_sender:
|
|
280
280
|
store = self.get_tree_view_model()
|
|
281
281
|
cmb_store.append([s['name'], s['id']])
|
|
@@ -300,8 +300,8 @@ class ReceiveShipments(dbGtkUtils.ITkDBWindow):
|
|
|
300
300
|
else:
|
|
301
301
|
self.cmb_shipment.set_active(-1)
|
|
302
302
|
self.cmb_shipment.get_child().set_text("")
|
|
303
|
-
|
|
304
|
-
|
|
303
|
+
|
|
304
|
+
|
|
305
305
|
self.tree.set_model(Gtk.ListStore(str, str, str, bool))
|
|
306
306
|
|
|
307
307
|
def receive_items(self, *args):
|
|
@@ -507,6 +507,8 @@ def create_shipment_status(shpmnt):
|
|
|
507
507
|
|
|
508
508
|
def main():
|
|
509
509
|
"""Main entry."""
|
|
510
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch/receiveShipments.html"
|
|
511
|
+
|
|
510
512
|
dlg = ITkDBlogin.ITkDBlogin()
|
|
511
513
|
client = dlg.get_client()
|
|
512
514
|
if client is None:
|
|
@@ -515,7 +517,7 @@ def main():
|
|
|
515
517
|
sys.exit()
|
|
516
518
|
|
|
517
519
|
client.user_gui = dlg
|
|
518
|
-
IS = ReceiveShipments(client)
|
|
520
|
+
IS = ReceiveShipments(client, help_link=HELP_LINK)
|
|
519
521
|
IS.set_accept_focus(True)
|
|
520
522
|
IS.present()
|
|
521
523
|
IS.connect("destroy", Gtk.main_quit)
|
itkdb_gtk/GlueWeight.py
CHANGED
|
@@ -8,13 +8,14 @@ from pathlib import Path
|
|
|
8
8
|
|
|
9
9
|
try:
|
|
10
10
|
import itkdb_gtk
|
|
11
|
-
|
|
11
|
+
|
|
12
12
|
except ImportError:
|
|
13
|
-
from pathlib import Path
|
|
14
13
|
cwd = Path(__file__).parent.parent
|
|
15
14
|
sys.path.append(cwd.as_posix())
|
|
16
15
|
|
|
17
16
|
from itkdb_gtk import dbGtkUtils, ITkDBlogin, ITkDButils
|
|
17
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch"
|
|
18
|
+
|
|
18
19
|
|
|
19
20
|
import gi
|
|
20
21
|
gi.require_version("Gtk", "3.0")
|
|
@@ -83,18 +84,17 @@ def remove_defaul_keys(data, default_value=-9999):
|
|
|
83
84
|
return data
|
|
84
85
|
|
|
85
86
|
|
|
86
|
-
class GlueWeight(
|
|
87
|
+
class GlueWeight(dbGtkUtils.ITkDBWindow):
|
|
87
88
|
"""Upluead Glue Weight test."""
|
|
88
89
|
|
|
89
90
|
def __init__(self, session, ifile=None, help_link=None):
|
|
90
91
|
"""Initialization.
|
|
91
|
-
|
|
92
|
+
|
|
92
93
|
Args:
|
|
93
94
|
session: ITkDB session_
|
|
94
95
|
ifile (optional): Input file. Defaults to None.
|
|
95
96
|
|
|
96
97
|
"""
|
|
97
|
-
global gtk_runs
|
|
98
98
|
self.ifile = ifile
|
|
99
99
|
self.session = session
|
|
100
100
|
self.modules = []
|
|
@@ -112,34 +112,24 @@ class GlueWeight(Gtk.Window):
|
|
|
112
112
|
self.skeleton = ITkDButils.get_test_skeleton(
|
|
113
113
|
session, "MODULE", "GLUE_WEIGHT", defaults)
|
|
114
114
|
|
|
115
|
+
global gtk_runs
|
|
115
116
|
if gtk_runs:
|
|
116
|
-
super().__init__(
|
|
117
|
+
super().__init__(session=session,
|
|
118
|
+
title="Upload Glue Weight",
|
|
119
|
+
help_link=help_link)
|
|
117
120
|
self.init_window()
|
|
121
|
+
else:
|
|
122
|
+
self.pdb_user = ITkDButils.get_db_user(session)
|
|
118
123
|
|
|
119
124
|
def init_window(self):
|
|
120
125
|
"""Initialize window."""
|
|
121
126
|
#
|
|
122
127
|
# Prepare HeaderBar
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
self.
|
|
127
|
-
|
|
128
|
-
button = Gtk.Button()
|
|
129
|
-
icon = Gio.ThemedIcon(name="document-send-symbolic")
|
|
130
|
-
image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON)
|
|
131
|
-
button.add(image)
|
|
132
|
-
button.set_tooltip_text("Click to upload test shown in notebook.")
|
|
133
|
-
button.connect("clicked", self.upload_current_test)
|
|
134
|
-
hb.pack_end(button)
|
|
135
|
-
|
|
136
|
-
self.userLabel = Gtk.Label()
|
|
137
|
-
self.userLabel.set_text(self.session.user.name)
|
|
138
|
-
hb.pack_start(self.userLabel)
|
|
139
|
-
|
|
140
|
-
# Create main content box
|
|
141
|
-
self.mainBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
|
142
|
-
self.add(self.mainBox)
|
|
128
|
+
self.set_border_width(10)
|
|
129
|
+
|
|
130
|
+
# Prepare HeaderBar
|
|
131
|
+
self.hb.props.title = "Glue height"
|
|
132
|
+
|
|
143
133
|
# file entry and search button
|
|
144
134
|
self.file_name = Gtk.FileChooserButton()
|
|
145
135
|
self.file_name.connect("file-set", self.on_file_set)
|
|
@@ -167,6 +157,11 @@ class GlueWeight(Gtk.Window):
|
|
|
167
157
|
self.modules = self.parse_file(self.ifile)
|
|
168
158
|
self.populate_notebook()
|
|
169
159
|
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
# The text view
|
|
163
|
+
self.mainBox.pack_end(self.message_panel.frame, True, True, 5)
|
|
164
|
+
|
|
170
165
|
# The button box
|
|
171
166
|
btnBox = Gtk.ButtonBox(orientation=Gtk.Orientation.HORIZONTAL)
|
|
172
167
|
self.buttons = []
|
|
@@ -183,19 +178,10 @@ class GlueWeight(Gtk.Window):
|
|
|
183
178
|
self.buttons.append(btn)
|
|
184
179
|
btnBox.add(btn)
|
|
185
180
|
|
|
186
|
-
btn = Gtk.Button(label="Quit")
|
|
187
|
-
btn.connect("clicked", self.quit)
|
|
188
|
-
btnBox.add(btn)
|
|
189
|
-
|
|
190
181
|
self.mainBox.pack_start(btnBox, False, True, 0)
|
|
191
182
|
|
|
192
183
|
self.show_all()
|
|
193
184
|
|
|
194
|
-
def quit(self, *args):
|
|
195
|
-
"""Quits the application."""
|
|
196
|
-
self.hide()
|
|
197
|
-
self.destroy()
|
|
198
|
-
|
|
199
185
|
def create_test_window(self, test_json, test_name, label):
|
|
200
186
|
"""Create the dialog for a DB test and add it to the notebook.
|
|
201
187
|
|
|
@@ -257,7 +243,7 @@ class GlueWeight(Gtk.Window):
|
|
|
257
243
|
|
|
258
244
|
def read_file(self, path):
|
|
259
245
|
"""Parse file."""
|
|
260
|
-
with open(path, "r") as ifile:
|
|
246
|
+
with open(path, "r", encoding="UTF-8") as ifile:
|
|
261
247
|
self.modules = self.parse_file(ifile)
|
|
262
248
|
|
|
263
249
|
def parse_file(self, ifile, module_sep="MODULE_SN"):
|
|
@@ -346,7 +332,7 @@ class GlueWeight(Gtk.Window):
|
|
|
346
332
|
|
|
347
333
|
def upload_tests(self):
|
|
348
334
|
"""Upload tests to DB."""
|
|
349
|
-
if len(self.test_list):
|
|
335
|
+
if len(self.test_list)>0:
|
|
350
336
|
for G in self.test_list:
|
|
351
337
|
m = G.values
|
|
352
338
|
print("### Uploading {} for module {}".format(m["testType"], m["component"]))
|
|
@@ -386,7 +372,7 @@ def main():
|
|
|
386
372
|
|
|
387
373
|
else:
|
|
388
374
|
try:
|
|
389
|
-
ifile = open(options.files[0], 'r')
|
|
375
|
+
ifile = open(options.files[0], 'r') if len(options.files)>0 else None
|
|
390
376
|
|
|
391
377
|
except Exception as e:
|
|
392
378
|
print(e)
|
|
@@ -399,7 +385,7 @@ def main():
|
|
|
399
385
|
print("Could not connect to DB with provided credentials.")
|
|
400
386
|
sys.exit()
|
|
401
387
|
|
|
402
|
-
GW = GlueWeight(session, ifile)
|
|
388
|
+
GW = GlueWeight(session, ifile, help_link=HELP_LINK)
|
|
403
389
|
if gtk_runs:
|
|
404
390
|
GW.show_all()
|
|
405
391
|
GW.set_accept_focus(True)
|
|
@@ -21,7 +21,6 @@ import gi
|
|
|
21
21
|
gi.require_version("Gtk", "3.0")
|
|
22
22
|
from gi.repository import Gtk, Gdk, Gio, GObject
|
|
23
23
|
|
|
24
|
-
HELP_LINK="https://itkdb-gtk.docs.cern.ch/panelVisualInspection.html"
|
|
25
24
|
|
|
26
25
|
class TestJson(GObject.Object):
|
|
27
26
|
"""To store test JSOn."""
|
|
@@ -41,7 +40,7 @@ class PanelVisualInspection(dbGtkUtils.ITkDBWindow):
|
|
|
41
40
|
SN, ORDER, PASSED, N_FILES, F_LIST, TEST_J, ALL = range(7)
|
|
42
41
|
F_DEFECT, F_NAME, F_PATH = range(3)
|
|
43
42
|
|
|
44
|
-
def __init__(self, session, title="PanelVisualInspection", help_link=
|
|
43
|
+
def __init__(self, session, title="PanelVisualInspection", help_link=None):
|
|
45
44
|
super().__init__(title=title,
|
|
46
45
|
session=session,
|
|
47
46
|
show_search="Find object with given SN.",
|
|
@@ -564,6 +563,8 @@ class PanelVisualInspection(dbGtkUtils.ITkDBWindow):
|
|
|
564
563
|
def main():
|
|
565
564
|
"""Main entry."""
|
|
566
565
|
# DB login
|
|
566
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch/panelVisualInspection.html"
|
|
567
|
+
|
|
567
568
|
dlg = ITkDBlogin.ITkDBlogin()
|
|
568
569
|
client = dlg.get_client()
|
|
569
570
|
if client is None:
|
|
@@ -573,7 +574,7 @@ def main():
|
|
|
573
574
|
|
|
574
575
|
client.user_gui = dlg
|
|
575
576
|
|
|
576
|
-
gTest = PanelVisualInspection(client)
|
|
577
|
+
gTest = PanelVisualInspection(client, help_link=HELP_LINK)
|
|
577
578
|
|
|
578
579
|
gTest.present()
|
|
579
580
|
gTest.connect("destroy", Gtk.main_quit)
|
itkdb_gtk/PetalReceptionTests.py
CHANGED
|
@@ -154,7 +154,7 @@ class PetalReceptionTests(dbGtkUtils.ITkDBWindow):
|
|
|
154
154
|
"""
|
|
155
155
|
if institute is None:
|
|
156
156
|
institute = self.institute
|
|
157
|
-
|
|
157
|
+
|
|
158
158
|
defaults = {
|
|
159
159
|
"institution": institute,
|
|
160
160
|
"runNumber": "1",
|
|
@@ -187,7 +187,7 @@ class PetalReceptionTests(dbGtkUtils.ITkDBWindow):
|
|
|
187
187
|
self.dbObject = ITkDButils.get_DB_component(self.session, SN)
|
|
188
188
|
|
|
189
189
|
except Exception as E:
|
|
190
|
-
self.write_message(str(E))
|
|
190
|
+
self.write_message(str(E)+'\n')
|
|
191
191
|
dbGtkUtils.complain("Could not find object in DB", str(E))
|
|
192
192
|
self.dbObject = None
|
|
193
193
|
return
|
|
@@ -198,7 +198,7 @@ class PetalReceptionTests(dbGtkUtils.ITkDBWindow):
|
|
|
198
198
|
"""Add a new defect."""
|
|
199
199
|
page = self.notebook.get_nth_page(self.notebook.get_current_page())
|
|
200
200
|
values = dbGtkUtils.get_a_list_of_values("Insert new defect", ("Type", "Description/v"))
|
|
201
|
-
if len(values):
|
|
201
|
+
if len(values)>0:
|
|
202
202
|
defect = {"name": values[0], "description": values[1]}
|
|
203
203
|
page.dict_dialog.values["defects"].append(defect)
|
|
204
204
|
page.dict_dialog.refresh()
|
|
@@ -280,6 +280,8 @@ class PetalReceptionTests(dbGtkUtils.ITkDBWindow):
|
|
|
280
280
|
def main():
|
|
281
281
|
"""Main entry."""
|
|
282
282
|
# DB login
|
|
283
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch/petalReceptionTests.html"
|
|
284
|
+
|
|
283
285
|
dlg = ITkDBlogin.ITkDBlogin()
|
|
284
286
|
client = dlg.get_client()
|
|
285
287
|
if client is None:
|
|
@@ -289,7 +291,7 @@ def main():
|
|
|
289
291
|
|
|
290
292
|
client.user_gui = dlg
|
|
291
293
|
|
|
292
|
-
gTest = PetalReceptionTests(client)
|
|
294
|
+
gTest = PetalReceptionTests(client, help_link=HELP_LINK)
|
|
293
295
|
|
|
294
296
|
gTest.present()
|
|
295
297
|
gTest.connect("destroy", Gtk.main_quit)
|
itkdb_gtk/UploadMultipleTests.py
CHANGED
|
@@ -677,7 +677,8 @@ class UploadMultipleTests(dbGtkUtils.ITkDBWindow):
|
|
|
677
677
|
|
|
678
678
|
|
|
679
679
|
def main():
|
|
680
|
-
"""Main entry."""
|
|
680
|
+
"""Main entry."""
|
|
681
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch/uploadMultipleTests.html"
|
|
681
682
|
# DB login
|
|
682
683
|
dlg = ITkDBlogin.ITkDBlogin()
|
|
683
684
|
client = dlg.get_client()
|
|
@@ -689,7 +690,7 @@ def main():
|
|
|
689
690
|
client.user_gui = dlg
|
|
690
691
|
|
|
691
692
|
# Start GUI
|
|
692
|
-
UpT = UploadMultipleTests(client)
|
|
693
|
+
UpT = UploadMultipleTests(client, help_link=HELP_LINK)
|
|
693
694
|
|
|
694
695
|
if gtk_runs:
|
|
695
696
|
UpT.present()
|
itkdb_gtk/UploadTest.py
CHANGED
|
@@ -211,7 +211,7 @@ class UploadTest(dbGtkUtils.ITkDBWindow):
|
|
|
211
211
|
ifile = Path(self.payload).expanduser().resolve().as_posix()
|
|
212
212
|
self.testF.set_filename(ifile)
|
|
213
213
|
self.on_test_file(self.testF)
|
|
214
|
-
self.write_message("Loaded {}".format(the_path.name))
|
|
214
|
+
self.write_message("Loaded {}\n".format(the_path.name))
|
|
215
215
|
|
|
216
216
|
else:
|
|
217
217
|
print("Input file does not exists: {}".format(self.payload))
|
|
@@ -452,12 +452,13 @@ class UploadTest(dbGtkUtils.ITkDBWindow):
|
|
|
452
452
|
dbGtkUtils.complain("Failed uploading test", msg)
|
|
453
453
|
|
|
454
454
|
else:
|
|
455
|
-
self.write_message("Upload successfull")
|
|
455
|
+
self.write_message("Upload successfull\n")
|
|
456
456
|
dbGtkUtils.ask_for_confirmation("Upload successfull", "")
|
|
457
457
|
|
|
458
458
|
|
|
459
459
|
def main():
|
|
460
460
|
"""Main entry."""
|
|
461
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch/uploadSingleTest.html"
|
|
461
462
|
parser = argparse.ArgumentParser()
|
|
462
463
|
|
|
463
464
|
parser.add_argument("--test-file", help="Name of json file with test data")
|
|
@@ -483,6 +484,7 @@ def main():
|
|
|
483
484
|
# Start GUI
|
|
484
485
|
UpT = UploadTest(client,
|
|
485
486
|
payload=args.test_file,
|
|
487
|
+
help_link=HELP_LINK,
|
|
486
488
|
attachment=ITkDButils.Attachment(path=args.attachment,
|
|
487
489
|
title=args.attach_title,
|
|
488
490
|
desc=args.attach_desc))
|
itkdb_gtk/VisualInspection.py
CHANGED
|
@@ -21,8 +21,6 @@ import gi
|
|
|
21
21
|
gi.require_version("Gtk", "3.0")
|
|
22
22
|
from gi.repository import Gtk, Gio
|
|
23
23
|
|
|
24
|
-
HELP_LINK="https://itkdb-gtk.docs.cern.ch/moduleVisualInspection.html"
|
|
25
|
-
|
|
26
24
|
|
|
27
25
|
module_type = re.compile("20USE(M[0-5]{1}|[345]{1}[LR]{1})[0-9]{7}")
|
|
28
26
|
sensor_type = re.compile("20USES[0-5]{1}[0-9]{7}")
|
|
@@ -31,7 +29,7 @@ sensor_type = re.compile("20USES[0-5]{1}[0-9]{7}")
|
|
|
31
29
|
class ModuleVisualInspection(dbGtkUtils.ITkDBWindow):
|
|
32
30
|
"""Module/Sensor Visual Inspection."""
|
|
33
31
|
|
|
34
|
-
def __init__(self, session, title="Visual Inspection", help_link=
|
|
32
|
+
def __init__(self, session, title="Visual Inspection", help_link=None):
|
|
35
33
|
super().__init__(title=title,
|
|
36
34
|
session=session,
|
|
37
35
|
show_search="Find object with given SN.",
|
|
@@ -68,7 +66,7 @@ class ModuleVisualInspection(dbGtkUtils.ITkDBWindow):
|
|
|
68
66
|
lbl.set_xalign(0)
|
|
69
67
|
grid.attach(lbl, 0, irow, 1, 1)
|
|
70
68
|
grid.attach(receiver, 1, irow, 1, 1)
|
|
71
|
-
|
|
69
|
+
|
|
72
70
|
self.obj_type = None
|
|
73
71
|
self.obj_type_label = Gtk.Label()
|
|
74
72
|
self.obj_type_label.set_xalign(0)
|
|
@@ -273,6 +271,8 @@ class ModuleVisualInspection(dbGtkUtils.ITkDBWindow):
|
|
|
273
271
|
|
|
274
272
|
def main():
|
|
275
273
|
"""Main entry."""
|
|
274
|
+
HELP_LINK="https://itkdb-gtk.docs.cern.ch/moduleVisualInspection.html"
|
|
275
|
+
|
|
276
276
|
# DB login
|
|
277
277
|
dlg = ITkDBlogin.ITkDBlogin()
|
|
278
278
|
client = dlg.get_client()
|
|
@@ -283,7 +283,7 @@ def main():
|
|
|
283
283
|
|
|
284
284
|
client.user_gui = dlg
|
|
285
285
|
|
|
286
|
-
gTest = ModuleVisualInspection(client)
|
|
286
|
+
gTest = ModuleVisualInspection(client, help_link=HELP_LINK)
|
|
287
287
|
|
|
288
288
|
gTest.present()
|
|
289
289
|
gTest.connect("destroy", Gtk.main_quit)
|
itkdb_gtk/WireBondGui.py
CHANGED
|
@@ -935,6 +935,16 @@ class WireBond(dbGtkUtils.ITkDBWindow):
|
|
|
935
935
|
skeleton["comments"].append(msg)
|
|
936
936
|
skeleton["passed"] = False
|
|
937
937
|
self.write_message("{}\n".format(msg))
|
|
938
|
+
for key in skeleton["results"]["FAILED_HYBRID_TO_PB"]:
|
|
939
|
+
defect = {
|
|
940
|
+
"description": "Unbonded: Hybrid to PB",
|
|
941
|
+
"name": "UNBODED",
|
|
942
|
+
"properties": {
|
|
943
|
+
"wire_number": range_to_list(key)
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
skeleton["defects"].append(defect)
|
|
947
|
+
|
|
938
948
|
|
|
939
949
|
def compute_module_to_frame(self, skeleton):
|
|
940
950
|
"""Compute number of failures and repairs."""
|
|
@@ -945,6 +955,15 @@ class WireBond(dbGtkUtils.ITkDBWindow):
|
|
|
945
955
|
skeleton["comments"].append(msg)
|
|
946
956
|
skeleton["passed"] = False
|
|
947
957
|
self.write_message("{}\n".format(msg))
|
|
958
|
+
for key in skeleton["results"]["FAILED_MODULE_TO_FRAME"]:
|
|
959
|
+
defect = {
|
|
960
|
+
"description": "Unbonded: Module to Frame",
|
|
961
|
+
"name": "UNBODED",
|
|
962
|
+
"properties": {
|
|
963
|
+
"wire_number": range_to_list(key)
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
skeleton["defects"].append(defect)
|
|
948
967
|
|
|
949
968
|
def compute_unconnected(self, results):
|
|
950
969
|
"""Compute number of unconnected."""
|
|
@@ -956,6 +975,7 @@ class WireBond(dbGtkUtils.ITkDBWindow):
|
|
|
956
975
|
|
|
957
976
|
M = ModuleHoles(param=param, win=self)
|
|
958
977
|
|
|
978
|
+
defects = []
|
|
959
979
|
for test, values in results.items():
|
|
960
980
|
if test.find("FAILED") < 0:
|
|
961
981
|
continue
|
|
@@ -972,6 +992,17 @@ class WireBond(dbGtkUtils.ITkDBWindow):
|
|
|
972
992
|
H.add_channel(irow, out)
|
|
973
993
|
H.holes[irow] = find_holes(H.channels[irow])
|
|
974
994
|
|
|
995
|
+
# add defects
|
|
996
|
+
defects.append(
|
|
997
|
+
{
|
|
998
|
+
"description": "Unbonded Channel",
|
|
999
|
+
"name": "UNBONDED",
|
|
1000
|
+
"properties": {
|
|
1001
|
+
"front_end_row": irow,
|
|
1002
|
+
"wire_number": out
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
)
|
|
975
1006
|
|
|
976
1007
|
# Now get sensor strips.
|
|
977
1008
|
M.ready()
|
|
@@ -981,7 +1012,7 @@ class WireBond(dbGtkUtils.ITkDBWindow):
|
|
|
981
1012
|
|
|
982
1013
|
out = {}
|
|
983
1014
|
out["comments"] = []
|
|
984
|
-
out["defects"] =
|
|
1015
|
+
out["defects"] = defects
|
|
985
1016
|
for irow in range(4):
|
|
986
1017
|
key = "MAX_CONT_UNCON_ROW{}".format(irow+1)
|
|
987
1018
|
out[key] = mx_consecutive[irow]
|
itkdb_gtk/__init__.py
CHANGED
itkdb_gtk/dashBoard.py
CHANGED
|
@@ -60,7 +60,6 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
60
60
|
PETAL_CORE_THERMAL = 12
|
|
61
61
|
PETAL_INFORMATION = 13
|
|
62
62
|
|
|
63
|
-
|
|
64
63
|
def __init__(self, session):
|
|
65
64
|
"""Initialization."""
|
|
66
65
|
super().__init__(title="ITkDB Dashboard", session=session, help_link=HELP_LINK)
|
|
@@ -119,7 +118,6 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
119
118
|
btnModVI.connect("clicked", self.module_VI)
|
|
120
119
|
grid.attach(btnModVI, 0, irow, 1, 1)
|
|
121
120
|
|
|
122
|
-
|
|
123
121
|
if HAS_PETALQC:
|
|
124
122
|
irow +=1
|
|
125
123
|
btnPetalInfo = Gtk.Button(label="AVS Petal Info")
|
|
@@ -135,7 +133,6 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
135
133
|
btnPetalThermal.connect("clicked", self.petal_thermal)
|
|
136
134
|
grid.attach(btnPetalThermal, 1, irow, 1, 1)
|
|
137
135
|
|
|
138
|
-
|
|
139
136
|
irow += 1
|
|
140
137
|
grid.attach(Gtk.Label(), 0, irow, 1, 1)
|
|
141
138
|
|
|
@@ -166,7 +163,10 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
166
163
|
return
|
|
167
164
|
|
|
168
165
|
self.mask |= bt
|
|
169
|
-
W = UploadTest.UploadTest(
|
|
166
|
+
W = UploadTest.UploadTest(
|
|
167
|
+
self.session,
|
|
168
|
+
help_link="{}/uploadSingleTest.html".format(HELP_LINK)
|
|
169
|
+
)
|
|
170
170
|
W.connect("destroy", self.app_closed, bitn)
|
|
171
171
|
|
|
172
172
|
def upload_multiple_tests(self, *args):
|
|
@@ -177,7 +177,10 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
177
177
|
return
|
|
178
178
|
|
|
179
179
|
self.mask |= bt
|
|
180
|
-
W = UploadMultipleTests.UploadMultipleTests(
|
|
180
|
+
W = UploadMultipleTests.UploadMultipleTests(
|
|
181
|
+
self.session,
|
|
182
|
+
help_link="{}/uploadMultipleTests.html".format(HELP_LINK)
|
|
183
|
+
)
|
|
181
184
|
W.connect("destroy", self.app_closed, bitn)
|
|
182
185
|
|
|
183
186
|
def create_shipment(self, *args):
|
|
@@ -188,7 +191,10 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
188
191
|
return
|
|
189
192
|
|
|
190
193
|
self.mask |= bt
|
|
191
|
-
W = CreateShipments.CreateShipments(
|
|
194
|
+
W = CreateShipments.CreateShipments(
|
|
195
|
+
self.session,
|
|
196
|
+
help_link="{}/createShipment.html".format(HELP_LINK)
|
|
197
|
+
)
|
|
192
198
|
W.connect("destroy", self.app_closed, bitn)
|
|
193
199
|
|
|
194
200
|
def receive_shipment(self, *args):
|
|
@@ -199,7 +205,10 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
199
205
|
return
|
|
200
206
|
|
|
201
207
|
self.mask |= bt
|
|
202
|
-
W = GetShipments.ReceiveShipments(
|
|
208
|
+
W = GetShipments.ReceiveShipments(
|
|
209
|
+
self.session,
|
|
210
|
+
help_link="{}/receiveShipments.html".format(HELP_LINK)
|
|
211
|
+
)
|
|
203
212
|
W.connect("destroy", self.app_closed, bitn)
|
|
204
213
|
|
|
205
214
|
def petal_gnd(self, *args):
|
|
@@ -210,7 +219,10 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
210
219
|
return
|
|
211
220
|
|
|
212
221
|
self.mask |= bt
|
|
213
|
-
W = PetalReceptionTests.PetalReceptionTests(
|
|
222
|
+
W = PetalReceptionTests.PetalReceptionTests(
|
|
223
|
+
self.session,
|
|
224
|
+
help_link="{}/petalReceptionTests.html".format(HELP_LINK)
|
|
225
|
+
)
|
|
214
226
|
W.connect("destroy", self.app_closed, bitn)
|
|
215
227
|
|
|
216
228
|
def glue_weight(self, *args):
|
|
@@ -232,7 +244,10 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
232
244
|
return
|
|
233
245
|
|
|
234
246
|
self.mask |= bt
|
|
235
|
-
W = UploadModuleIV.IVwindow(
|
|
247
|
+
W = UploadModuleIV.IVwindow(
|
|
248
|
+
self.session,
|
|
249
|
+
help_link="{}/uploadModuleIV.html".format(HELP_LINK)
|
|
250
|
+
)
|
|
236
251
|
W.connect("destroy", self.app_closed, bitn)
|
|
237
252
|
|
|
238
253
|
def wire_bond(self, *args):
|
|
@@ -243,7 +258,11 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
243
258
|
return
|
|
244
259
|
|
|
245
260
|
self.mask |= bt
|
|
246
|
-
W = WireBondGui.WireBond(
|
|
261
|
+
W = WireBondGui.WireBond(
|
|
262
|
+
session=self.session,
|
|
263
|
+
title="Wirebond",
|
|
264
|
+
help_link="{}//wirebondTest.html".format(HELP_LINK),
|
|
265
|
+
)
|
|
247
266
|
W.connect("destroy", self.app_closed, bitn)
|
|
248
267
|
W.show_all()
|
|
249
268
|
|
|
@@ -255,9 +274,11 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
255
274
|
return
|
|
256
275
|
|
|
257
276
|
self.mask |= bt
|
|
258
|
-
W = PanelVisualInspection.PanelVisualInspection(
|
|
259
|
-
|
|
260
|
-
|
|
277
|
+
W = PanelVisualInspection.PanelVisualInspection(
|
|
278
|
+
session=self.session,
|
|
279
|
+
title="Panel Visual Inspection",
|
|
280
|
+
help_link="{}/panelVisualInspection.html".format(HELP_LINK),
|
|
281
|
+
)
|
|
261
282
|
W.connect("destroy", self.app_closed, bitn)
|
|
262
283
|
W.show_all()
|
|
263
284
|
|
|
@@ -269,13 +290,14 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
269
290
|
return
|
|
270
291
|
|
|
271
292
|
self.mask |= bt
|
|
272
|
-
W = VisualInspection.ModuleVisualInspection(
|
|
273
|
-
|
|
274
|
-
|
|
293
|
+
W = VisualInspection.ModuleVisualInspection(
|
|
294
|
+
session=self.session,
|
|
295
|
+
title="Module/Sensor Visual Inspection",
|
|
296
|
+
help_link="{}/moduleVisualInspection.html".format(HELP_LINK),
|
|
297
|
+
)
|
|
275
298
|
W.connect("destroy", self.app_closed, bitn)
|
|
276
299
|
W.show_all()
|
|
277
300
|
|
|
278
|
-
|
|
279
301
|
def upload_petal_info(self, *srgs):
|
|
280
302
|
"""Upload petal Info."""
|
|
281
303
|
if not HAS_PETALQC:
|
|
@@ -291,13 +313,11 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
291
313
|
W.connect("destroy", self.app_closed, bitn)
|
|
292
314
|
W.show_all()
|
|
293
315
|
|
|
294
|
-
|
|
295
316
|
def petal_metrology(self, *args):
|
|
296
317
|
"""Do petal metrology"""
|
|
297
318
|
if not HAS_PETALQC:
|
|
298
319
|
return
|
|
299
320
|
|
|
300
|
-
|
|
301
321
|
bitn = DashWindow.PETAL_CORE_METRO
|
|
302
322
|
bt = 1 << bitn
|
|
303
323
|
if self.mask & bt:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: itkdb_gtk
|
|
3
|
-
Version: 0.10.10.
|
|
3
|
+
Version: 0.10.10.dev9
|
|
4
4
|
Summary: A collection of Gtk based GUI to access ITkDB.
|
|
5
5
|
Author-email: Carlos Lacasta <carlos.lacasta@cern.ch>
|
|
6
6
|
Project-URL: Homepage, https://gitlab.cern.ch/atlas-itk/sw/db/itk-pdb-gtk-gui-utils
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
itkdb_gtk/CreateShipments.py,sha256=eiVjw7zGLGAoqWxThBc6IVvXLUFXmtQ-_hpZzfDOKx0,13249
|
|
2
|
+
itkdb_gtk/GetShipments.py,sha256=tEGWAmfW86jiAkc6cflVWR2QpKwhOLSRZicwwcfQVKw,18465
|
|
3
|
+
itkdb_gtk/GlueWeight.py,sha256=OSc5EJjyzgZC9sk21L7K_gs88peSrEcC2CWbl1uNXTU,11749
|
|
4
|
+
itkdb_gtk/ITkDB.desktop,sha256=v_K4mHsDxb912J1XGo6mOlbW2TkHvYNGrKmiOnsBQqM,172
|
|
5
|
+
itkdb_gtk/ITkDB.svg,sha256=Ry702zrUkxvG61SqThbUNfXySyiLMqalwYpcM-b_KWo,24242
|
|
6
|
+
itkdb_gtk/ITkDBlogin.py,sha256=40tipm_j5eUS4dnZnBT8VyL6Bu_8csuqS9TPWKxvKSY,10038
|
|
7
|
+
itkdb_gtk/ITkDButils.py,sha256=WYjE_DOnFJdxhhQ5ylVTupIOjrp2r83jQALa0Gc2xZg,19587
|
|
8
|
+
itkdb_gtk/PanelVisualInspection.py,sha256=ktAcYbdLBS7Zbxq9XsxB_AWTgAfFLa42NFTEsxnBn98,20531
|
|
9
|
+
itkdb_gtk/PetalReceptionTests.py,sha256=N9_lBvao-HeHPwccjycUL7p3R3V_nPur1WibXbcqjgI,9992
|
|
10
|
+
itkdb_gtk/SensorUtils.py,sha256=fYWF9TeutAbore53dLWNlZnVn9P3OsKYcFLNGOs8cnI,15426
|
|
11
|
+
itkdb_gtk/ShowAttachments.py,sha256=KExxPCdbcb04XS8JSUkg5xF1McvlB8e9btwctDCKNXU,8498
|
|
12
|
+
itkdb_gtk/ShowComments.py,sha256=OiMTFLnhGbbKRj5x61D517BYHAt-qY5Y1lvR3EQz3c0,3151
|
|
13
|
+
itkdb_gtk/ShowDefects.py,sha256=aVAHeaE5IztmAPEuHwhi06KWo_pi9xX2J1fTLhKyAPI,3530
|
|
14
|
+
itkdb_gtk/UploadModuleIV.py,sha256=sqh52bSxANBwlmVWZlDqFXpqRGf0rV0QsjJWC-tY_qI,17792
|
|
15
|
+
itkdb_gtk/UploadMultipleTests.py,sha256=EaDM5t_-tkGlgg66Nb36iGN7dT3-wvsrWwChpbXGML0,24287
|
|
16
|
+
itkdb_gtk/UploadTest.py,sha256=ukgJ5-IG12bqa1QIp3bXIV8hkdXCv5UDxh1lQswN_ko,16832
|
|
17
|
+
itkdb_gtk/VisualInspection.py,sha256=i2i_9ttetMzGFRcBFm_ow7aziksTgvZzVLUxZhwiyBg,9850
|
|
18
|
+
itkdb_gtk/WireBondGui.py,sha256=WFTLOw4l5JxSbvh4vZMxcF65fqlwvNw0fOyEru9ijqQ,39850
|
|
19
|
+
itkdb_gtk/__init__.py,sha256=23qH2hGi_hozwXJbDTvLWJZWyRACKFft-8KsRf5TdCc,1269
|
|
20
|
+
itkdb_gtk/dashBoard.py,sha256=b2QmPUtjo_gAxf3u5t5_V35J580i9V-4FLr2NvmDzAw,10999
|
|
21
|
+
itkdb_gtk/dbGtkUtils.py,sha256=THW-IT5UJB1YluvUVIfpy6oIY2faSHChNKGTpY5qzag,30480
|
|
22
|
+
itkdb_gtk/readGoogleSheet.py,sha256=Lzm_oPWwDqZZzKoBUgsp277F9-wCfr_BA0X4VD2Eolo,2673
|
|
23
|
+
itkdb_gtk/untrash_component.py,sha256=VrN46-f-kF7voOxtoh7OL-bZSWAaIFb7-Xbx6_WT7K8,757
|
|
24
|
+
itkdb_gtk-0.10.10.dev9.dist-info/METADATA,sha256=FjbmJX0AH9AFQCI15uwKoWwlg7qZPzOjbr5m_npnetM,3156
|
|
25
|
+
itkdb_gtk-0.10.10.dev9.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
26
|
+
itkdb_gtk-0.10.10.dev9.dist-info/entry_points.txt,sha256=51wi4BRW1vYuLNySWC6bsmQPo7XPI7cvPFAaBD49Ib0,489
|
|
27
|
+
itkdb_gtk-0.10.10.dev9.dist-info/top_level.txt,sha256=KVRrH4OS8ovzNR9bvADE0ABn5bNpSk987tuH0jCfkbU,10
|
|
28
|
+
itkdb_gtk-0.10.10.dev9.dist-info/RECORD,,
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
itkdb_gtk/CreateShipments.py,sha256=6m66OsURF_c2IgpfYfvSwu3hlhlQV8vVv7EqQQQNzds,13147
|
|
2
|
-
itkdb_gtk/GetShipments.py,sha256=8E0QG-sH2gygqCAJFhpXJnH3QAjO_62havm9hJuX-Uk,18414
|
|
3
|
-
itkdb_gtk/GlueWeight.py,sha256=tyF5-EAc6QkOLo9ZRp807Xx6zK6yYBGElvfmpUYeuUA,12284
|
|
4
|
-
itkdb_gtk/ITkDB.desktop,sha256=v_K4mHsDxb912J1XGo6mOlbW2TkHvYNGrKmiOnsBQqM,172
|
|
5
|
-
itkdb_gtk/ITkDB.svg,sha256=Ry702zrUkxvG61SqThbUNfXySyiLMqalwYpcM-b_KWo,24242
|
|
6
|
-
itkdb_gtk/ITkDBlogin.py,sha256=40tipm_j5eUS4dnZnBT8VyL6Bu_8csuqS9TPWKxvKSY,10038
|
|
7
|
-
itkdb_gtk/ITkDButils.py,sha256=WYjE_DOnFJdxhhQ5ylVTupIOjrp2r83jQALa0Gc2xZg,19587
|
|
8
|
-
itkdb_gtk/PanelVisualInspection.py,sha256=EO0bsPnzD7aT2iBs2SShOAfbixvYcDrByLpjVOEk4MM,20510
|
|
9
|
-
itkdb_gtk/PetalReceptionTests.py,sha256=Ta3gGa_pFcOSroF2xpPyAT5nfhXAouBHcfDgPXCvwJI,9903
|
|
10
|
-
itkdb_gtk/SensorUtils.py,sha256=fYWF9TeutAbore53dLWNlZnVn9P3OsKYcFLNGOs8cnI,15426
|
|
11
|
-
itkdb_gtk/ShowAttachments.py,sha256=KExxPCdbcb04XS8JSUkg5xF1McvlB8e9btwctDCKNXU,8498
|
|
12
|
-
itkdb_gtk/ShowComments.py,sha256=OiMTFLnhGbbKRj5x61D517BYHAt-qY5Y1lvR3EQz3c0,3151
|
|
13
|
-
itkdb_gtk/ShowDefects.py,sha256=aVAHeaE5IztmAPEuHwhi06KWo_pi9xX2J1fTLhKyAPI,3530
|
|
14
|
-
itkdb_gtk/UploadModuleIV.py,sha256=sqh52bSxANBwlmVWZlDqFXpqRGf0rV0QsjJWC-tY_qI,17792
|
|
15
|
-
itkdb_gtk/UploadMultipleTests.py,sha256=8LgbIE7g6zdx4zAqM_Y3DungVnxyStiexhOvjruc4H0,24190
|
|
16
|
-
itkdb_gtk/UploadTest.py,sha256=HVAdMRpicxG5Qr5Hj9LL5tVsSz1tTGaGbeolz-BaFrE,16717
|
|
17
|
-
itkdb_gtk/VisualInspection.py,sha256=-7f1YdUdkHk62OQVn3JwNlCcRMyfUHgUEC4wb4yK2Ok,9838
|
|
18
|
-
itkdb_gtk/WireBondGui.py,sha256=8kA5S6MCl_DUeszdBn9z9kR3kRHe0sI0wRU_akBJqDo,38711
|
|
19
|
-
itkdb_gtk/__init__.py,sha256=Ru68gP4mR4_UX8wslF97Q2vW9doIWE3j-9TAniKmDRM,1269
|
|
20
|
-
itkdb_gtk/dashBoard.py,sha256=ZGeG0su0C7LGzXrcBu8KKfzeneuqkVLieF-6s6yGCgc,10563
|
|
21
|
-
itkdb_gtk/dbGtkUtils.py,sha256=THW-IT5UJB1YluvUVIfpy6oIY2faSHChNKGTpY5qzag,30480
|
|
22
|
-
itkdb_gtk/readGoogleSheet.py,sha256=Lzm_oPWwDqZZzKoBUgsp277F9-wCfr_BA0X4VD2Eolo,2673
|
|
23
|
-
itkdb_gtk/untrash_component.py,sha256=VrN46-f-kF7voOxtoh7OL-bZSWAaIFb7-Xbx6_WT7K8,757
|
|
24
|
-
itkdb_gtk-0.10.10.dev8.dist-info/METADATA,sha256=IJWXO0Tqdy2yyGy_n5su68d3du-XQcISTe5gmNhVlYo,3156
|
|
25
|
-
itkdb_gtk-0.10.10.dev8.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
26
|
-
itkdb_gtk-0.10.10.dev8.dist-info/entry_points.txt,sha256=51wi4BRW1vYuLNySWC6bsmQPo7XPI7cvPFAaBD49Ib0,489
|
|
27
|
-
itkdb_gtk-0.10.10.dev8.dist-info/top_level.txt,sha256=KVRrH4OS8ovzNR9bvADE0ABn5bNpSk987tuH0jCfkbU,10
|
|
28
|
-
itkdb_gtk-0.10.10.dev8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|