diff --git a/src/laser-feedbacks.py b/src/laser-feedbacks.py index b1a2365cd6b0bf034baa096cad0d5e8fc0da54e7..1b353a12f77467a22a183946cbfb9eb1df4b1279 100755 --- a/src/laser-feedbacks.py +++ b/src/laser-feedbacks.py @@ -1,17 +1,4 @@ -#!/usr/bin/python - -##################### python3 errors ################################ -#Traceback (most recent call last): -# File "fermilaserfeedbacks_V2.py", line 580, in <module> -# window = MainWindow() -# File "fermilaserfeedbacks_V2.py", line 186, in __init__ -# mappa = devpil.items()[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere -#TypeError: 'dict_items' object does not support indexing -#Exception ignored in: <bound method MainWindow.__del__ of <__main__.MainWindow object at 0x7f89caa05288>> -#Traceback (most recent call last): -# File "fermilaserfeedbacks_V2.py", line 426, in __del__ -# self.timer.stop() -#AttributeError: 'MainWindow' object has no attribute 'timer' +#!/usr/bin/python3 import PyTango from PyQt4.QtCore import * @@ -22,196 +9,199 @@ sogliauno = 70 # % per sfondo giallo sogliadue = 90 # % per sfondo rosso dev = {} -dev['calendario_sl'] = PyTango.DeviceProxy('sl/laser/calendar_sl.01') -dev['calendario_slu'] = PyTango.DeviceProxy('slu/laser/calendar_slu.01') -selettore_sl = dev['calendario_sl'].activityNum -selettore_slu = dev['calendario_slu'].activityNum - +try: + dev['calendario_sl'] = PyTango.DeviceProxy('sl/laser/calendar_sl.01') + dev['calendario_slu'] = PyTango.DeviceProxy('slu/laser/calendar_slu.01') + selettore_sl = dev['calendario_sl'].activityNum + selettore_slu = dev['calendario_slu'].activityNum +except: + print('dev') devpil = {} -devpil['pillegendtiming'] = PyTango.DeviceProxy('pil/feedback/fbdelay_pil.01') -devpil['pilrienergy'] = PyTango.DeviceProxy('pil/feedback/fb_energy_ir_pil.01') -devpil['feedbackcarica'] = PyTango.DeviceProxy('f/feedback/charge_fb.01') - +try: + devpil['pillegendtiming'] = PyTango.DeviceProxy('pil/feedback/fbdelay_pil.01') + devpil['pilrienergy'] = PyTango.DeviceProxy('pil/feedback/fb_energy_ir_pil.01') + devpil['feedbackcarica'] = PyTango.DeviceProxy('f/feedback/charge_fb.01') +except: + print('devpil') devlh = {} -devlh['lhpointing'] = PyTango.DeviceProxy('lhl/feedback/rtltf_lhl.01') -devlh['lhtransport'] = PyTango.DeviceProxy('lhl/feedback/rtltf_transport_lhl.01') - +try: + devlh['lhpointing'] = PyTango.DeviceProxy('lhl/feedback/rtltf_lhl.01') + devlh['lhtransport'] = PyTango.DeviceProxy('lhl/feedback/rtltf_transport_lhl.01') +except: + print('devlh') devsl = {} if selettore_sl == 1: #ELITE1_OPA_FEL1 - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['fel1energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel01.01') - devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + try: + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['fel1energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel01.01') + devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + except: + print('devsl') elif selettore_sl == 2: #ELITE1_OPA_FEL1_ELITE2_SLU - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['fel1energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel01.01') - devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + try: + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['fel1energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel01.01') + devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + except: + print('devsl') elif selettore_sl == 3: #ELITE1_THG_FEL1 - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + try: + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + except: + print('devsl') elif selettore_sl == 4: #ELITE1_THG_FEL1_ELITE2_SLU - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + try: + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + except: + print('devsl') elif selettore_sl == 5: #ELITE1_THGOPA_FEL1 - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + try: + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + except: + print('devsl') #feedback pointing thg elif selettore_sl == 6: #ELITE1_THGOPA_FEL1_ELITE2_SLU - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + try: + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + except: + print('devsl') #feedback pointing thg elif selettore_sl == 7: #ELITE2_THG_FEL2 - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + try: + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + except: + print('devsl') elif selettore_sl == 8: #ELITE2_THG_FEL2_ELITE1_SLU - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + try: + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + except: + print('devsl') elif selettore_sl == 9: #ELITE2_OPA_FEL2 - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['fel2energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel02.01') - devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + try: + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['fel2energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel02.01') + devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + except: + print('devsl') elif selettore_sl == 10: #ELITE2_OPA_FEL2_ELITE1_SLU - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['fel2energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel02.01') - devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + try: + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['fel2energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel02.01') + devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + except: + print('devsl') elif selettore_sl == 11: #ELITE2_THG_FEL2_ELITE1_EEHG - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + try: + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + except: + print('devsl') #feedback eehg elif selettore_sl == 0: #SHUTDOWN devsl = {} else: - devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') - devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') - devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') - devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') - devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') - devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') - devsl['fel1energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel01.01') - devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') - devsl['fel2energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel02.01') - devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') -######################## FAST FEEDBACK -#devslu = {} -#devslu['slutotem'] = PyTango.DeviceProxy('slu/feedback/rtltf_totem_slu.01') -#if selettore_slu == 1: #ELITE2_TIMER -# devslu['sluelite2'] = PyTango.DeviceProxy('slu/feedback/rtltf_slr_slu.01') -# devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/rtltf_timer_slu.01') -#elif selettore_slu == 2: #ELITE2_TIMEX -# devslu['sluelite2'] = PyTango.DeviceProxy('slu/feedback/rtltf_slr_slu.01') -# devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/rtltf_timex_slu.01') -#elif selettore_slu == 3: #ELITE2_DIPRI -# devslu['sluelite2'] = PyTango.DeviceProxy('slu/feedback/rtltf_slr_slu.01') -# devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/rtltf_diproi_slu.01') -#elif selettore_slu == 4: #ELITE2_LDM -# devslu['sluelite2'] = PyTango.DeviceProxy('slu/feedback/rtltf_slr_slu.01') -# devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/rtltf_ldm_slu.01') -#elif selettore_slu == 5: #ELITE2_TOTEM -# devslu['sluelite2'] = PyTango.DeviceProxy('slu/feedback/rtltf_slr_slu.01') -# devslu['slutotem'] = PyTango.DeviceProxy('slu/feedback/rtltf_totem_slu.01') -#elif selettore_slu == 6: #ELITE2_MAGNEDYN -# devslu['sluelite2'] = PyTango.DeviceProxy('slu/feedback/rtltf_slr_slu.01') -# devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/rtltf_mag_slu.01') -#elif selettore_slu == 7: #ELITE1_TIMER -# devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/rtltf_timer_slu.01') -#elif selettore_slu == 8: #ELITE1_TIMEX -# devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/rtltf_timex_slu.01') -#elif selettore_slu == 9: #ELITE1_DIPRI -# devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/rtltf_diproi_slu.01') -#elif selettore_slu == 10: #ELITE1_LDM -# devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/rtltf_ldm_slu.01') -#elif selettore_slu == 11: #ELITE1_TOTEM -# devslu['slutotem'] = PyTango.DeviceProxy('slu/feedback/rtltf_totem_slu.01') -#elif selettore_slu == 12: #ELITE1_MAGNEDYN -# devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/rtltf_mag_slu.01') -#elif selettore_slu == 0: #SHUTDOWN -# devslu = {} -#else: -# devslu['sluelite2'] = PyTango.DeviceProxy('slu/feedback/rtltf_slr_slu.01') -# devslu['slutotem'] = PyTango.DeviceProxy('slu/feedback/rtltf_totem_slu.01') -# devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/rtltf_timer_slu.01') -# devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/rtltf_timex_slu.01') -# devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/rtltf_diproi_slu.01') -# devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/rtltf_ldm_slu.01') -# devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/rtltf_mag_slu.01') - + try: + devsl['slelite1input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.02') + devsl['slelite1output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.01') + devsl['slelite1timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.01') + devsl['slelite2input'] = PyTango.DeviceProxy('sl/feedback/rtltf_osc.01') + devsl['slelite2output'] = PyTango.DeviceProxy('sl/feedback/rtltf_elite.02') + devsl['slelite2timing'] = PyTango.DeviceProxy('sl/feedback/fbdelay_sl.02') + devsl['fel1energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel01.01') + devsl['fel1pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel01.01') + devsl['fel2energyopa'] = PyTango.DeviceProxy('sl/feedback/fb_opa_energy_fel02.01') + devsl['fel2pointing'] = PyTango.DeviceProxy('sl/feedback/rtltf_fel02.01') + except: + print('devsl') ###################### MIMO FEEDBACK devslu = {} -if selettore_slu == 1: #ELITE2_TIMER - devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmr_slu.01') -elif selettore_slu == 2: #ELITE2_TIMEX - devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmx_slu.01') -elif selettore_slu == 3: #ELITE2_DIPRI - devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/mimofb_diproi_slu.01') -elif selettore_slu == 4: #ELITE2_LDM - devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/mimofb_ldm_slu.01') -elif selettore_slu == 5: #ELITE2_TOTEM - devslu['slutotem'] = PyTango.DeviceProxy('slu/feedback/mimofb_totem_slu.01') -elif selettore_slu == 6: #ELITE2_MAGNEDYN - devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/mimofb_mag_slu.01') -elif selettore_slu == 7: #ELITE1_TIMER - devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmr_slu.01') -elif selettore_slu == 8: #ELITE1_TIMEX - devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmx_slu.01') -elif selettore_slu == 9: #ELITE1_DIPRI - devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/mimofb_diproi_slu.01') -elif selettore_slu == 10: #ELITE1_LDM - devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/mimofb_ldm_slu.01') -elif selettore_slu == 11: #ELITE1_TOTEM - devslu['slutotem'] = PyTango.DeviceProxy('slu/feedback/mimofb_totem_slu.01') -elif selettore_slu == 12: #ELITE1_MAGNEDYN - devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/mimofb_mag_slu.01') +if selettore_slu == 1 or selettore_slu == 7: #ELITE2_TIMER + try: + devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmr_slu.01') + except: + print('devslu') +elif selettore_slu == 2 or selettore_slu == 8: #ELITE2_TIMEX + try: + devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmx_slu.01') + except: + print('devslu') +elif selettore_slu == 3 or selettore_slu == 9: #ELITE2_DIPRI + try: + devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/mimofb_diproi_slu.01') + except: + print('devslu') +elif selettore_slu == 4 or selettore_slu == 10: #ELITE2_LDM + try: + devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/mimofb_ldm_slu.01') + except: + print('devslu') +elif selettore_slu == 5 or selettore_slu == 11: #ELITE2_TOTEM + try: + devslu['slutotem'] = PyTango.DeviceProxy('slu/feedback/mimofb_totem_slu.01') + except: + print('devslu') +elif selettore_slu == 6 or selettore_slu == 12: #ELITE2_MAGNEDYN + try: + devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/mimofb_mag_slu.01') + except: + print('devslu') elif selettore_slu == 0: #SHUTDOWN devslu = {} else: - devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmr_slu.01') - devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmx_slu.01') - devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/mimofb_diproi_slu.01') - devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/mimofb_ldm_slu.01') - devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/mimofb_mag_slu.01') - - - - + try: + devslu['slutimer'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmr_slu.01') + devslu['slutimez'] = PyTango.DeviceProxy('slu/feedback/mimofb_tmx_slu.01') + devslu['sludiproi'] = PyTango.DeviceProxy('slu/feedback/mimofb_diproi_slu.01') + devslu['sluldm'] = PyTango.DeviceProxy('slu/feedback/mimofb_ldm_slu.01') + devslu['slumagnedyn'] = PyTango.DeviceProxy('slu/feedback/mimofb_mag_slu.01') + except: + print('devslu') #slu - esterni #devslu['timer'] = PyTango.DeviceProxy('srv-tmr-srf:20000/tmr/slu/rtltf_tmr.01') @@ -220,8 +210,6 @@ else: #devslu['ldmthg'] = PyTango.DeviceProxy('srv-ldm-srf:20000/ldm/feedback/rtltf_ldm.01') #devslu['ldmfund'] = PyTango.DeviceProxy('srv-ldm-srf:20000/ldm/feedback/rtltf_ldm.02') - - class MainWindow(QDialog): def __init__(self, parent = None): super(MainWindow, self).__init__(parent) @@ -237,225 +225,101 @@ class MainWindow(QDialog): lopil = QGridLayout() #print(len(devpil)) for indice in range(len(devpil)): - mappa = devpil.items()[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + mappa = list(devpil.items())[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + tmpnome = list(devpil.items())[indice][1].name().split('/') #leggo nome device + nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello + exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello + exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato + exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % + exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout if mappa[1] == 'rtltf-srv': - tmpnome = devpil.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster' + devpil.items()[indice][1].name() + ' --laser &"))') #creo comando apri pannello - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster' + list(devpil.items())[indice][1].name() + ' --laser &"))') #creo comando apri pannello #elif mappa[1] == 'dcf-srv': - #tmpnome = devpil.items()[indice][1].name().split('/') #leggo nome device - #nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - #exec('self.' + nomedicomodoperpannello + '_state = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - #exec('self.' + nomedicomodoperpannello + '_state.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + devpil.items()[indice][1].name() +' &"))') #creo comando apri pannello - #exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_state, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - #exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - #exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout + #exec('self.' + nomedicomodoperpannello + '_state.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + list(devpil.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'mimofb-srv': - tmpnome = devpil.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + devpil.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + list(devpil.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'sequencerconf-srv': - tmpnome = devpil.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + devpil.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - #exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - #exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + list(devpil.items())[indice][1].name() +' &"))') #creo comando apri pannello #elif mappa[1] == 'lefb-srv': - #tmpnome = devpil.items()[indice][1].name().split('/') #leggo nome device - #nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - #exec('self.' + nomedicomodoperpannello + '_state = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - #exec('self.' + nomedicomodoperpannello + '_state.clicked.connect(lambda: os.system("/runtime/bin/lef ' + devpil.items()[indice][1].name() +' &"))') #creo comando apri pannello - #exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_state, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - #exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - #exec('lopil.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout + #exec('self.' + nomedicomodoperpannello + '_state.clicked.connect(lambda: os.system("/runtime/bin/lef ' + list(devpil.items())[indice][1].name() +' &"))') #creo comando apri pannello self.riquadrodipil.setLayout(lopil) self.riquadrodilhl = QGroupBox('LHL') self.riquadrodilhl.setStyleSheet("background-color: rgb(255, 200, 200)") lolh = QGridLayout() #print(len(devlh)) for indice in range(len(devlh)): - mappa = devlh.items()[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + mappa = list(devlh.items())[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + tmpnome = list(devlh.items())[indice][1].name().split('/') #leggo nome device + nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello + exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello + exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato + exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % + exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout if mappa[1] == 'rtltf-srv': - tmpnome = devlh.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster ' + devlh.items()[indice][1].name() +' --laser &"))') #creo comando apri pannello - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster ' + list(devlh.items())[indice][1].name() +' --laser &"))') #creo comando apri pannello elif mappa[1] == 'dcf-srv': - tmpnome = devlh.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + devlh.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + list(devlh.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'mimofb-srv': - tmpnome = devlh.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + devlh.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + list(devlh.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'sequencerconf-srv': - tmpnome = devlh.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + devlh.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - #exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - #exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + list(devlh.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'lefb-srv': - tmpnome = devlh.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/lef ' + devlh.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('lolh.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/lef ' + list(devlh.items())[indice][1].name() +' &"))') #creo comando apri pannello self.riquadrodilhl.setLayout(lolh) self.riquadrodisl = QGroupBox('SEED') self.riquadrodisl.setStyleSheet("background-color: rgb(200, 255, 255)") losl = QGridLayout() #print(len(devsl)) for indice in range(len(devsl)): - mappa = devsl.items()[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + mappa = list(devsl.items())[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + tmpnome = list(devsl.items())[indice][1].name().split('/') #leggo nome device + nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello + exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello + exec('losl.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato + exec('losl.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % + exec('losl.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout if mappa[1] == 'rtltf-srv': - tmpnome = devsl.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster ' + devsl.items()[indice][1].name() + ' --laser &"))') #creo comando apri pannello - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster ' + list(devsl.items())[indice][1].name() + ' --laser &"))') #creo comando apri pannello elif mappa[1] == 'dcf-srv': - tmpnome = devsl.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + devsl.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + list(devsl.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'mimofb-srv': - tmpnome = devsl.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + devsl.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + list(devsl.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'sequencerconf-srv': - tmpnome = devsl.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + devsl.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - #exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - #exec('losl.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + list(devsl.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'lefb-srv': - tmpnome = devsl.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/lef ' + devsl.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('losl.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/lef ' + list(devsl.items())[indice][1].name() +' &"))') #creo comando apri pannello self.riquadrodisl.setLayout(losl) self.riquadrodislu = QGroupBox('SLU') self.riquadrodislu.setStyleSheet("background-color: rgb(200, 255, 200)") loslu = QGridLayout() #print(len(devslu)) for indice in range(len(devslu)): - mappa = devslu.items()[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + mappa = list(devslu.items())[indice][1].adm_name().split('/') #dal tipo di device ricostruisco che bottoni mettere + tmpnome = list(devslu.items())[indice][1].name().split('/') #leggo nome device + nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello + exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello + exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato + exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % + exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout #print(mappa) ######## DA SISTEMARE if mappa[1] == 'rtltf-srv': - tmpnome = devslu.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster ' + devslu.items()[indice][1].name() + ' --laser &"))') #creo comando apri pannello - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/ftfmaster ' + list(devslu.items())[indice][1].name() + ' --laser &"))') #creo comando apri pannello elif mappa[1] == 'dcf-srv': - tmpnome = devslu.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + devslu.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/fbdelay ' + list(devslu.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'mimofb-srv': - tmpnome = devslu.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + devslu.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/mimofb ' + list(devslu.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'sequencerconf-srv': - tmpnome = devslu.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + devslu.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - #exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - #exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/usr/local/tango-8.1.2.c/bin/atkpanel ' + list(devslu.items())[indice][1].name() +' &"))') #creo comando apri pannello elif mappa[1] == 'lefb-srv': - tmpnome = devslu.items()[indice][1].name().split('/') #leggo nome device - nomedicomodoperpannello = tmpnome[2].replace('.', '') #creo nome per elementi grafici del pannello - exec('self.' + nomedicomodoperpannello + '_bottone = QPushButton("' + tmpnome[2] + '")') # creo il tasto per lanciare il pannello - exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/lef ' + devslu.items()[indice][1].name() +' &"))') #creo comando apri pannello - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_bottone, ' + str(indice+1) + ', 0, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_stato = QLineEdit("")') # creo il il campo per scrivere lo stato - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_stato, ' + str(indice+1) + ', 1, 1, 1)') #schiaffo l'elemento grafico nel layout - exec('self.' + nomedicomodoperpannello + '_percentuale = QLineEdit("%")') # creo il il campo per scrivere % - exec('loslu.addWidget(self.' + nomedicomodoperpannello + '_percentuale, ' + str(indice+1) + ', 2, 1, 1)') #schiaffo l'elemento grafico nel layout + exec('self.' + nomedicomodoperpannello + '_bottone.clicked.connect(lambda: os.system("/runtime/bin/lef ' + list(devslu.items())[indice][1].name() +' &"))') #creo comando apri pannello self.riquadrodislu.setLayout(loslu) loglobale = QGridLayout() #loglobale.addWidget(self.riquadrodiselezione, 0, 0, 1, 2) @@ -474,139 +338,135 @@ class MainWindow(QDialog): self.update() pass - #/runtime/bin/ftfmaster sl/feedback/rtltf_osc.02 -title Elite1_INPUT_pointing_Feedback_(rtltf_osc.02) --laser - def __del__(self): self.timer.stop() pass def update(self): #print('pil: ' + str(len(devpil)) + ', lhl: ' + str(len(devlh)) + ', sl: ' + str(len(devsl)) + ', slu: ' + str(len(devslu))) - chiavipil = devpil.keys() + chiavipil = list(devpil.keys()) for indice in range(len(chiavipil)): if str(devpil[chiavipil[indice]]).split('(')[0] == 'MIMOFB': percentuale = round(devpil[chiavipil[indice]].ActuatorMaxPercentage, 0) - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= sogliauno: - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > sogliauno and percentuale < sogliadue: - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= sogliadue: - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') elif str(devpil[chiavipil[indice]]).split('(')[0] == 'RTLTF': percentuale = round(max(devpil[chiavipil[indice]].CorHorMax, devpil[chiavipil[indice]].CorVerMax), 0) - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= sogliauno: - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > sogliauno and percentuale < sogliadue: - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= sogliadue: - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') stato = str(devpil[chiavipil[indice]].state()) - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') if stato == 'ON' or stato == 'RUNNING': - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') elif stato == 'STANDBY' or stato == 'MOVING' or stato == 'WAITING': - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') elif stato == 'OFF': - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') else: - exec('self.' + devpil.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devpil.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') - chiavilhl = devlh.keys() + chiavilhl = list(devlh.keys()) for indice in range(len(chiavilhl)): if str(devlh[chiavilhl[indice]]).split('(')[0] == 'MIMOFB': percentuale = round(devlh[chiavilhl[indice]].ActuatorMaxPercentage, 0) - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= sogliauno: - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > sogliauno and percentuale < sogliadue: - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= sogliadue: - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') elif str(devlh[chiavilhl[indice]]).split('(')[0] == 'RTLTF': percentuale = round(max(devlh[chiavilhl[indice]].CorHorMax, devlh[chiavilhl[indice]].CorVerMax), 0) - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= sogliauno: - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > sogliauno and percentuale < sogliadue: - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= sogliadue: - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') stato = str(devlh[chiavilhl[indice]].state()) - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') if stato == 'ON' or stato == 'RUNNING': - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') elif stato == 'STANDBY' or stato == 'MOVING' or stato == 'WAITING': - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') elif stato == 'OFF': - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') else: - exec('self.' + devlh.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devlh.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') - chiavisl = devsl.keys() + chiavisl = list(devsl.keys()) for indice in range(len(chiavisl)): if str(devsl[chiavisl[indice]]).split('(')[0] == 'MIMOFB': percentuale = round(devsl[chiavisl[indice]].ActuatorMaxPercentage, 0) - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= sogliauno: - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > sogliauno and percentuale < sogliadue: - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= sogliadue: - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') elif str(devsl[chiavisl[indice]]).split('(')[0] == 'RTLTF': percentuale = round(max(devsl[chiavisl[indice]].CorHorMax, devsl[chiavisl[indice]].CorVerMax), 0) - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= sogliauno: - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > sogliauno and percentuale < sogliadue: - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= sogliadue: - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') stato = str(devsl[chiavisl[indice]].state()) - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') if stato == 'ON' or stato == 'RUNNING': - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') elif stato == 'STANDBY' or stato == 'MOVING' or stato == 'WAITING': - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') elif stato == 'OFF': - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') else: - exec('self.' + devsl.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') -################################## DA QUI - chiavislu = devslu.keys() + exec('self.' + list(devsl.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') + + chiavislu = list(devslu.keys()) for indice in range(len(chiavislu)): if str(devslu[chiavislu[indice]]).split('(')[0] == 'MIMOFB': percentuale = round(devslu[chiavislu[indice]].ActuatorMaxPercentage, 0) - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= 60: - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > 60 and percentuale < 80: - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= 80: - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') elif str(devslu[chiavislu[indice]]).split('(')[0] == 'RTLTF': percentuale = round(max(devslu[chiavislu[indice]].CorHorMax, devslu[chiavislu[indice]].CorVerMax), 0) - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setText("' + str(percentuale) + ' % ")') if percentuale <= 60: - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #00ff00")') elif percentuale > 60 and percentuale < 80: - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ffff00")') elif percentuale >= 80: - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_percentuale.setStyleSheet("background-color: #ff0000")') stato = str(devslu[chiavislu[indice]].state()) - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setText("' + stato + '")') if stato == 'ON' or stato == 'RUNNING': - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #00ff00")') elif stato == 'STANDBY' or stato == 'MOVING' or stato == 'WAITING': - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffff00")') elif stato == 'OFF': - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ffffff")') else: - exec('self.' + devslu.items()[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') - -############################ manca hide/show + exec('self.' + list(devslu.items())[indice][1].name().split('/')[2].replace('.', '') + '_stato.setStyleSheet("background-color: #ff0000")') if __name__ == '__main__': app = QApplication([])