diff --git a/vdiclient.ini.example b/vdiclient.ini.example index 53d2d11..f4a5d99 100644 --- a/vdiclient.ini.example +++ b/vdiclient.ini.example @@ -13,7 +13,8 @@ kiosk = False fullscreen = True # Enable displaying SPICE ini file before opening virt-viewer inidebug = False - +# Select which guest types to display. Acceptable values: both, lxc, qemu +guest_type = both [Authentication] # This is the authentication backend that will be used to authenticate @@ -26,7 +27,7 @@ tls_verify = false #user = user # API Token Name #token_name = dvi -#API Token Value +# API Token Value #token_value = xxx-x-x-x-xxx [Hosts] diff --git a/vdiclient.py b/vdiclient.py index 024ce1b..beca2e5 100644 --- a/vdiclient.py +++ b/vdiclient.py @@ -38,6 +38,7 @@ class G: inidebug = False addl_params = None theme = 'LightBlue' + guest_type = 'both' def get_dpi(): import ctypes @@ -113,6 +114,8 @@ def loadconfig(config_location = None): G.fullscreen = config['General'].getboolean('fullscreen') if 'inidebug' in config['General']: G.inidebug = config['General'].getboolean('inidebug') + if 'guest_type' in config['General']: + G.guest_type = config['General']['guest_type'] if not 'Authentication' in config: win_popup_button(f'Unable to read supplied configuration:\nNo `Authentication` section defined!', 'OK') return False @@ -187,7 +190,12 @@ def getvms(): vms = [] try: for vm in G.proxmox.cluster.resources.get(type='vm'): - vms.append(vm) + if vm['template']: + continue + if G.guest_type == 'both': + vms.append(vm) + elif G.guest_type == vm['type']: + vms.append(vm) return vms except proxmoxer.core.ResourceException as e: win_popup_button(f"Unable to display list of VMs:\n {e!r}", 'OK')