@@ -210,6 +210,9 @@ def getvms(listonly = False):
210
210
except proxmoxer .core .ResourceException as e :
211
211
win_popup_button (f"Unable to display list of VMs:\n { e !r} " , 'OK' )
212
212
return False
213
+ except requests .exceptions .ConnectionError as e :
214
+ print (f"Encountered error when querying proxmox: { e !r} " )
215
+ return False
213
216
214
217
def setvmlayout (vms ):
215
218
layout = []
@@ -221,7 +224,6 @@ def setvmlayout(vms):
221
224
layoutcolumn = []
222
225
for vm in vms :
223
226
if not vm ["status" ] == "unknown" :
224
- print (vm )
225
227
vmkeyname = f'-VM|{ vm ["vmid" ]} -'
226
228
connkeyname = f'-CONN|{ vm ["vmid" ]} -'
227
229
resetkeyname = f'-RESET|{ vm ["vmid" ]} -'
@@ -521,35 +523,38 @@ def showvms():
521
523
if (datetime .now () - timer ).total_seconds () > 5 :
522
524
timer = datetime .now ()
523
525
newvmlist = getvms (listonly = True )
524
- if vmlist != newvmlist :
525
- vmlist = newvmlist .copy ()
526
- vms = getvms ()
527
- layout = setvmlayout (vms )
528
- window .close ()
529
- if G .icon :
530
- window = sg .Window (G .title , layout , return_keyboard_events = True , finalize = True , resizable = False , no_titlebar = G .kiosk , size = (G .width , G .height ), icon = G .icon )
531
- else :
532
- window = sg .Window (G .title , layout , return_keyboard_events = True ,finalize = True , resizable = False , no_titlebar = G .kiosk , size = (G .width , G .height ))
533
- window .bring_to_front ()
534
- else : # Refresh existing vm status
535
- newvms = getvms ()
536
- for vm in newvms :
537
- vmkeyname = f'-VM|{ vm ["vmid" ]} -'
538
- connkeyname = f'-CONN|{ vm ["vmid" ]} -'
539
- state = 'stopped'
540
- if vm ['status' ] == 'running' :
541
- if 'lock' in vm :
542
- state = vm ['lock' ]
543
- if state in ('suspending' , 'suspended' ):
544
- window [connkeyname ].update (disabled = True )
545
- if state == 'suspended' :
546
- state = 'starting'
526
+ if newvmlist :
527
+ if vmlist != newvmlist :
528
+ vmlist = newvmlist .copy ()
529
+ vms = getvms ()
530
+ if vms :
531
+ layout = setvmlayout (vms )
532
+ window .close ()
533
+ if G .icon :
534
+ window = sg .Window (G .title , layout , return_keyboard_events = True , finalize = True , resizable = False , no_titlebar = G .kiosk , size = (G .width , G .height ), icon = G .icon )
547
535
else :
548
- state = vm ['status' ]
549
- window [connkeyname ].update (disabled = False )
550
- else :
551
- window [connkeyname ].update (disabled = False )
552
- window [vmkeyname ].update (f"State: { state } " )
536
+ window = sg .Window (G .title , layout , return_keyboard_events = True ,finalize = True , resizable = False , no_titlebar = G .kiosk , size = (G .width , G .height ))
537
+ window .bring_to_front ()
538
+ else : # Refresh existing vm status
539
+ newvms = getvms ()
540
+ if newvms :
541
+ for vm in newvms :
542
+ vmkeyname = f'-VM|{ vm ["vmid" ]} -'
543
+ connkeyname = f'-CONN|{ vm ["vmid" ]} -'
544
+ state = 'stopped'
545
+ if vm ['status' ] == 'running' :
546
+ if 'lock' in vm :
547
+ state = vm ['lock' ]
548
+ if state in ('suspending' , 'suspended' ):
549
+ window [connkeyname ].update (disabled = True )
550
+ if state == 'suspended' :
551
+ state = 'starting'
552
+ else :
553
+ state = vm ['status' ]
554
+ window [connkeyname ].update (disabled = False )
555
+ else :
556
+ window [connkeyname ].update (disabled = False )
557
+ window [vmkeyname ].update (f"State: { state } " )
553
558
554
559
event , values = window .read (timeout = 1000 )
555
560
if event in ('Logout' , None ):
0 commit comments