virtui-manager 1.1.6__py3-none-any.whl → 1.3.0__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.
- {virtui_manager-1.1.6.dist-info → virtui_manager-1.3.0.dist-info}/METADATA +1 -1
- virtui_manager-1.3.0.dist-info/RECORD +73 -0
- vmanager/constants.py +737 -108
- vmanager/dialog.css +24 -0
- vmanager/firmware_manager.py +4 -1
- vmanager/i18n.py +32 -0
- vmanager/libvirt_utils.py +132 -3
- vmanager/locales/de/LC_MESSAGES/virtui-manager.po +3012 -0
- vmanager/locales/fr/LC_MESSAGES/virtui-manager.mo +0 -0
- vmanager/locales/fr/LC_MESSAGES/virtui-manager.po +3124 -0
- vmanager/locales/it/LC_MESSAGES/virtui-manager.po +3012 -0
- vmanager/locales/virtui-manager.pot +3012 -0
- vmanager/modals/bulk_modals.py +13 -12
- vmanager/modals/cache_stats_modal.py +6 -5
- vmanager/modals/capabilities_modal.py +133 -0
- vmanager/modals/config_modal.py +25 -24
- vmanager/modals/cpu_mem_pc_modals.py +22 -21
- vmanager/modals/custom_migration_modal.py +10 -9
- vmanager/modals/disk_pool_modals.py +60 -59
- vmanager/modals/host_dashboard_modal.py +137 -0
- vmanager/modals/howto_disk_modal.py +2 -1
- vmanager/modals/howto_network_modal.py +2 -1
- vmanager/modals/howto_overlay_modal.py +2 -1
- vmanager/modals/howto_ssh_modal.py +2 -1
- vmanager/modals/howto_virtiofs_modal.py +2 -1
- vmanager/modals/input_modals.py +11 -10
- vmanager/modals/log_modal.py +2 -1
- vmanager/modals/migration_modals.py +20 -18
- vmanager/modals/network_modals.py +45 -36
- vmanager/modals/provisioning_modals.py +56 -56
- vmanager/modals/select_server_modals.py +8 -7
- vmanager/modals/selection_modals.py +7 -6
- vmanager/modals/server_modals.py +24 -23
- vmanager/modals/server_prefs_modals.py +78 -71
- vmanager/modals/utils_modals.py +10 -9
- vmanager/modals/virsh_modals.py +3 -2
- vmanager/modals/virtiofs_modals.py +6 -5
- vmanager/modals/vm_type_info_modal.py +2 -1
- vmanager/modals/vmanager_modals.py +19 -19
- vmanager/modals/vmcard_dialog.py +57 -57
- vmanager/modals/vmdetails_modals.py +115 -123
- vmanager/modals/xml_modals.py +3 -2
- vmanager/network_manager.py +4 -1
- vmanager/storage_manager.py +157 -39
- vmanager/utils.py +39 -6
- vmanager/vm_actions.py +28 -24
- vmanager/vm_queries.py +67 -25
- vmanager/vm_service.py +8 -5
- vmanager/vmanager.css +46 -0
- vmanager/vmanager.py +178 -112
- vmanager/vmcard.py +161 -159
- vmanager/webconsole_manager.py +21 -21
- virtui_manager-1.1.6.dist-info/RECORD +0 -65
- {virtui_manager-1.1.6.dist-info → virtui_manager-1.3.0.dist-info}/WHEEL +0 -0
- {virtui_manager-1.1.6.dist-info → virtui_manager-1.3.0.dist-info}/entry_points.txt +0 -0
- {virtui_manager-1.1.6.dist-info → virtui_manager-1.3.0.dist-info}/licenses/LICENSE +0 -0
- {virtui_manager-1.1.6.dist-info → virtui_manager-1.3.0.dist-info}/top_level.txt +0 -0
vmanager/webconsole_manager.py
CHANGED
|
@@ -153,12 +153,12 @@ wp.websockify_init()
|
|
|
153
153
|
graphics_info = get_vm_graphics_info(root)
|
|
154
154
|
|
|
155
155
|
if graphics_info.get('type') != 'vnc':
|
|
156
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
156
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.WEBCONSOLE_VNC_ONLY)
|
|
157
157
|
return
|
|
158
158
|
|
|
159
159
|
vnc_port = graphics_info.get('port')
|
|
160
160
|
if not vnc_port or vnc_port == '-1':
|
|
161
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
161
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.COULD_NOT_DETERMINE_VNC_PORT)
|
|
162
162
|
return
|
|
163
163
|
|
|
164
164
|
is_remote_ssh = WebConsoleManager.is_remote_connection(conn.getURI())
|
|
@@ -173,7 +173,7 @@ wp.websockify_init()
|
|
|
173
173
|
self._launch_websockify(uuid, vm_name, vnc_target_host, vnc_target_port, ssh_info)
|
|
174
174
|
|
|
175
175
|
except (libvirt.libvirtError, FileNotFoundError, Exception) as e:
|
|
176
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
176
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.FAILED_TO_START_WEBCONSOLE_TEMPLATE.format(error=e))
|
|
177
177
|
logging.error(f"Error during web console startup for VM {vm_name}: {e}", exc_info=True)
|
|
178
178
|
|
|
179
179
|
def stop_console(self, uuid: str, vm_name: str):
|
|
@@ -217,7 +217,7 @@ wp.websockify_init()
|
|
|
217
217
|
|
|
218
218
|
self.remove_session(uuid)
|
|
219
219
|
self.app.post_message(VmCardUpdateRequest(uuid))
|
|
220
|
-
self.app.call_from_thread(self.app.show_success_message,
|
|
220
|
+
self.app.call_from_thread(self.app.show_success_message, SuccessMessages.WEBCONSOLE_STOPPED)
|
|
221
221
|
|
|
222
222
|
def _get_next_available_port(self, remote_host: str | None = None) -> int | None:
|
|
223
223
|
"""
|
|
@@ -296,7 +296,7 @@ wp.websockify_init()
|
|
|
296
296
|
# Find a free port for websockify on the remote server.
|
|
297
297
|
web_port = self._get_next_available_port(remote_user_host)
|
|
298
298
|
if not web_port:
|
|
299
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
299
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.NO_FREE_WEBCONSOLE_PORT)
|
|
300
300
|
return
|
|
301
301
|
|
|
302
302
|
remote_websockify_path = self.config.get('websockify_path', '/usr/bin/websockify')
|
|
@@ -342,15 +342,15 @@ wp.websockify_init()
|
|
|
342
342
|
cert_status = stdout_lines[0]
|
|
343
343
|
if "user_cert" in cert_status:
|
|
344
344
|
url_scheme = "https"
|
|
345
|
-
self.app.call_from_thread(self.app.show_success_message,
|
|
345
|
+
self.app.call_from_thread(self.app.show_success_message, SuccessMessages.REMOTE_USER_CERT_FOUND)
|
|
346
346
|
remote_websockify_cmd_list.extend(["--cert", remote_cert_file, "--key", remote_key_file])
|
|
347
347
|
elif "system_cert" in cert_status:
|
|
348
348
|
url_scheme = "https"
|
|
349
|
-
self.app.call_from_thread(self.app.show_success_message,
|
|
349
|
+
self.app.call_from_thread(self.app.show_success_message, SuccessMessages.REMOTE_SYSTEM_CERT_FOUND)
|
|
350
350
|
remote_websockify_cmd_list.extend(["--cert", system_cert_file, "--key", system_key_file])
|
|
351
351
|
else:
|
|
352
352
|
# Attempt to generate keys remotely
|
|
353
|
-
self.app.call_from_thread(self.app.show_success_message,
|
|
353
|
+
self.app.call_from_thread(self.app.show_success_message, SuccessMessages.NO_REMOTE_CERT_FOUND_GENERATING)
|
|
354
354
|
gen_msgs = generate_webconsole_keys_if_needed(config_dir="/etc/" + AppInfo.name + "/keys", remote_host=remote_user_host)
|
|
355
355
|
|
|
356
356
|
failed_gen = False
|
|
@@ -366,7 +366,7 @@ wp.websockify_init()
|
|
|
366
366
|
url_scheme = "https"
|
|
367
367
|
remote_websockify_cmd_list.extend(["--cert", system_cert_file, "--key", system_key_file])
|
|
368
368
|
else:
|
|
369
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
369
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.REMOTE_KEY_GENERATION_FAILED)
|
|
370
370
|
|
|
371
371
|
if len(stdout_lines) > 1:
|
|
372
372
|
remote_novnc_path = stdout_lines[1]
|
|
@@ -381,7 +381,7 @@ wp.websockify_init()
|
|
|
381
381
|
|
|
382
382
|
except (subprocess.CalledProcessError, subprocess.TimeoutExpired, FileNotFoundError) as e:
|
|
383
383
|
logging.warning(f"Could not check for remote certs/novnc: {e}. Proceeding without SSL options and default novnc path.")
|
|
384
|
-
self.app.call_from_thread(self.app.show_success_message,
|
|
384
|
+
self.app.call_from_thread(self.app.show_success_message, SuccessMessages.NO_REMOTE_CERT_CHECK_INSECURE)
|
|
385
385
|
|
|
386
386
|
# Build SSH command with custom port if needed
|
|
387
387
|
ssh_base_args = ["ssh"]
|
|
@@ -433,7 +433,7 @@ wp.websockify_init()
|
|
|
433
433
|
proc.stdout.close()
|
|
434
434
|
|
|
435
435
|
if remote_pid is None:
|
|
436
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
436
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.FAILED_TO_START_REMOTE_WEBSOCKIFY_TEMPLATE.format(vm_name=vm_name))
|
|
437
437
|
try:
|
|
438
438
|
proc.terminate()
|
|
439
439
|
except:
|
|
@@ -448,7 +448,7 @@ wp.websockify_init()
|
|
|
448
448
|
if result.returncode != 0:
|
|
449
449
|
# Process is not alive
|
|
450
450
|
logging.error(f"Remote websockify process {remote_pid} on {remote_user_host} crashed after launch.")
|
|
451
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
451
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.REMOTE_WEBCONSOLE_CRASHED_TEMPLATE.format(vm_name=vm_name))
|
|
452
452
|
# Clean up the local ssh process
|
|
453
453
|
try:
|
|
454
454
|
proc.terminate()
|
|
@@ -472,7 +472,7 @@ wp.websockify_init()
|
|
|
472
472
|
)
|
|
473
473
|
except:
|
|
474
474
|
pass
|
|
475
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
475
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.NO_FREE_LOCAL_PORT_FOR_SSH_TUNNEL)
|
|
476
476
|
return
|
|
477
477
|
|
|
478
478
|
# Create control socket for the tunnel
|
|
@@ -510,7 +510,7 @@ wp.websockify_init()
|
|
|
510
510
|
)
|
|
511
511
|
except:
|
|
512
512
|
pass
|
|
513
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
513
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.FAILED_TO_CREATE_SSH_TUNNEL_TEMPLATE.format(error=e))
|
|
514
514
|
return
|
|
515
515
|
|
|
516
516
|
|
|
@@ -557,7 +557,7 @@ wp.websockify_init()
|
|
|
557
557
|
if not is_remote_ssh:
|
|
558
558
|
return vnc_target_host, vnc_port, {}
|
|
559
559
|
|
|
560
|
-
self.app.call_from_thread(self.app.show_success_message,
|
|
560
|
+
self.app.call_from_thread(self.app.show_success_message, SuccessMessages.REMOTE_CONNECTION_SSH_TUNNEL_SETUP)
|
|
561
561
|
parsed_uri = urlparse(conn.getURI())
|
|
562
562
|
user = parsed_uri.username
|
|
563
563
|
host = parsed_uri.hostname
|
|
@@ -569,7 +569,7 @@ wp.websockify_init()
|
|
|
569
569
|
|
|
570
570
|
tunnel_port = self._get_next_available_port(None)
|
|
571
571
|
if not tunnel_port:
|
|
572
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
572
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.NO_FREE_LOCAL_PORT_FOR_SSH_TUNNEL)
|
|
573
573
|
return None, None, {}
|
|
574
574
|
|
|
575
575
|
|
|
@@ -591,9 +591,9 @@ wp.websockify_init()
|
|
|
591
591
|
logging.info(f"SSH tunnel created for VM {vm_name} via {control_socket}")
|
|
592
592
|
return '127.0.0.1', tunnel_port, {"control_socket": control_socket}
|
|
593
593
|
except FileNotFoundError:
|
|
594
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
594
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.SSH_COMMAND_NOT_FOUND)
|
|
595
595
|
except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as e:
|
|
596
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
596
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.FAILED_TO_CREATE_SSH_TUNNEL_GENERIC)
|
|
597
597
|
logging.error(f"SSH tunnel command failed: {' '.join(ssh_cmd)}")
|
|
598
598
|
|
|
599
599
|
return None, None, {}
|
|
@@ -614,7 +614,7 @@ wp.websockify_init()
|
|
|
614
614
|
"""Launches the websockify process and shows the console dialog."""
|
|
615
615
|
web_port = self._get_next_available_port(None)
|
|
616
616
|
if not web_port:
|
|
617
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
617
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.NO_FREE_WEBCONSOLE_PORT)
|
|
618
618
|
return
|
|
619
619
|
|
|
620
620
|
websockify_path = self.config.get('websockify_path', '/usr/bin/websockify')
|
|
@@ -638,7 +638,7 @@ wp.websockify_init()
|
|
|
638
638
|
if cert_file.exists() and key_file.exists():
|
|
639
639
|
websockify_cmd.extend(["--cert", str(cert_file), "--key", str(key_file)])
|
|
640
640
|
url_scheme = "https"
|
|
641
|
-
self.app.call_from_thread(self.app.show_success_message,
|
|
641
|
+
self.app.call_from_thread(self.app.show_success_message, SuccessMessages.LOCAL_CERT_FOUND)
|
|
642
642
|
|
|
643
643
|
# Detach local process
|
|
644
644
|
proc = subprocess.Popen(
|
|
@@ -686,7 +686,7 @@ wp.websockify_init()
|
|
|
686
686
|
subprocess.run(stop_cmd, check=True, timeout=5, capture_output=True)
|
|
687
687
|
logging.info(f"SSH tunnel stopped for VM {vm_name} using socket {control_socket}")
|
|
688
688
|
except FileNotFoundError:
|
|
689
|
-
self.app.call_from_thread(self.app.show_error_message,
|
|
689
|
+
self.app.call_from_thread(self.app.show_error_message, ErrorMessages.SSH_COMMAND_NOT_FOUND)
|
|
690
690
|
except (subprocess.CalledProcessError, subprocess.TimeoutExpired) as e:
|
|
691
691
|
logging.warning(f"Could not stop SSH tunnel cleanly for VM {vm_name}: {e.stderr.decode() if e.stderr else e}")
|
|
692
692
|
finally:
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
virtui_manager-1.1.6.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
2
|
-
vmanager/__init__.py,sha256=-gTpOgkPAOtbLwxz-U9i2uVtFW1SB9JhBguViXnQPJ8,15
|
|
3
|
-
vmanager/config.py,sha256=OBMWtXBTnmws1ITjQ7D_C0LVMxzvGaRH8nZOlW9cbqk,3102
|
|
4
|
-
vmanager/connection_manager.py,sha256=osk0EHJ0ua2wnDOu-9faK8fMd7s9TGsI6OtgxLAMTCI,12984
|
|
5
|
-
vmanager/constants.py,sha256=q7oX6P0XKLOKEh6JxY1Jduhl5Q5aMFKk8DfKii7BvyM,5907
|
|
6
|
-
vmanager/dialog.css,sha256=iWGRlTZ-D-wc2uQQTftPoqDpysrAD6qMMENE3HXXlQg,11300
|
|
7
|
-
vmanager/events.py,sha256=yvjcYHMoDnnDKsMjfweZYnu0-U7lxQlB2uuIbtK5FeY,1556
|
|
8
|
-
vmanager/firmware_manager.py,sha256=i64S8uPKIj-Qe-xpQYAvelOLYZc0yO31ome9qMT8ObQ,3360
|
|
9
|
-
vmanager/libvirt_error_handler.py,sha256=aDumo2yNv9_rsbWjYtglt0ixQx8T2WTvgdEF8Uuanqw,1797
|
|
10
|
-
vmanager/libvirt_utils.py,sha256=fj74jXP2fHrn5VRWf8kwSlf57VyvWIVZ8gF0POyPUCA,16048
|
|
11
|
-
vmanager/network_manager.py,sha256=yMU3VXBCDDBKT2H7OL5s9XAD5uknfLPLH72e4228_Do,8627
|
|
12
|
-
vmanager/remote_viewer.py,sha256=evFvp7ilKPuTf-YA4jCGMgO6dzdhbL1iea1lzETwWeU,89495
|
|
13
|
-
vmanager/remote_viewer_gtk4.py,sha256=KIyejYq_PgmSL6yAUOnnloqpaIWdkYIPdoP6CmMaTOo,45994
|
|
14
|
-
vmanager/storage_manager.py,sha256=-Z-NqRklx9PjRhbipvHReSjTDkGqv5uO79vZRAZVv0g,42195
|
|
15
|
-
vmanager/utils.py,sha256=V3jOjBVD9Hf29hC6xIRkfPkjqx-_VL7eozMomaMqW9U,17254
|
|
16
|
-
vmanager/virtui_dev.py,sha256=M2pJEZRNApqezkj4RdEJR9neEdc_7HV3KInVGy9QgiQ,3118
|
|
17
|
-
vmanager/vm_actions.py,sha256=HpK7O2TtpMj-RjBGfF2hdPElwh-aIXh3HbJwjbrEs3w,117279
|
|
18
|
-
vmanager/vm_cache.py,sha256=dxNj1TrkIAI8NW8SZj0QsfhHkjCrylQ5rgcvPN2zDnQ,1181
|
|
19
|
-
vmanager/vm_migration.py,sha256=x0lpjAS8P_Q90nkyGA5BnR9UMrECaCy_9xvpiy4HRsM,16077
|
|
20
|
-
vmanager/vm_provisioner.py,sha256=ZOlwHQzsa1Ur90wWtFl8oBUTfozT9wjURV6Yk1O6H84,46090
|
|
21
|
-
vmanager/vm_queries.py,sha256=ExpcNW8c3jMDCDgkhsBXR4dKysIXd5bAw45YLqWx8jE,51227
|
|
22
|
-
vmanager/vm_service.py,sha256=zEDkKEt1ShuA5RH9evexUTfxVWI4irHfkXCQHYmoHLA,70680
|
|
23
|
-
vmanager/vmanager.css,sha256=bpgNxy4R4EUdO2_YR2iDU0rMdoTrurmDmG0pydkpROU,14108
|
|
24
|
-
vmanager/vmanager.py,sha256=9WiiMJaxezCjqEJDWeHW3YR9HGBGYNAxaM_-UjT2AAE,75832
|
|
25
|
-
vmanager/vmanager_cmd.py,sha256=IQtCozK6OvdjpIgL_umuv8LkHNk-W9DsQtsxpZ5fQRk,32161
|
|
26
|
-
vmanager/vmcard.css,sha256=IIAzRH4GMaTD9K4qb9MEvATMgyfWdJb1bTHGm0Ebee4,3087
|
|
27
|
-
vmanager/vmcard.py,sha256=s7zHzoDq8Ow_phm0sHzc3o08YqTCHT2MTVcmvxacpRs,98719
|
|
28
|
-
vmanager/vmcard_pool.py,sha256=IgZZIHNNt3t8CAiKalpQpEF69KY8MZ-csuBrh71AmKM,3514
|
|
29
|
-
vmanager/webconsole_manager.py,sha256=ZolHJRIDt5HLAjcT5-5HnEKtJPxdJlwx-yKgXBHEL4g,29028
|
|
30
|
-
vmanager/wrapper.py,sha256=6aIz7YRN__Cl78XEBxqQ6g7tWMZ9S_8Nq6XaOtaivTM,1265
|
|
31
|
-
vmanager/modals/__init__.py,sha256=Os1P7i7chUJCxGu4LOC_LJaJgpVOiOhxYzWNoW9Ubuw,36
|
|
32
|
-
vmanager/modals/base_modals.py,sha256=quGmI_FnoD7UVemruvYsvtz1whhJCNVr2hzQ3tl0hak,1263
|
|
33
|
-
vmanager/modals/bulk_modals.py,sha256=VsaOR20vVDkaqqnZhD9tJUao6WwTYmV2ZuPpnNQhnGI,3020
|
|
34
|
-
vmanager/modals/cache_stats_modal.py,sha256=smPT_0396ilCv0DvxSj_1FE2xhFpBQj5MqG8Tdfk4ME,2318
|
|
35
|
-
vmanager/modals/config_modal.py,sha256=DMNGqjej-nAvN9t1OqK-uaR_r6d1m4Vi1X5eX7D3ZTg,8301
|
|
36
|
-
vmanager/modals/cpu_mem_pc_modals.py,sha256=puKOVeEqi36wzaXbKNyXjZQjCjXKntuIVTWKh5RsY38,9378
|
|
37
|
-
vmanager/modals/custom_migration_modal.py,sha256=-kDRI8yeBJnh9jx5_ZJFWfXIfcmOZMO0dXUht3uowC8,2289
|
|
38
|
-
vmanager/modals/disk_pool_modals.py,sha256=xme7vS52kkM4CBE3WduNfjqzJz5BAdVGxdD-HfMvw7o,28236
|
|
39
|
-
vmanager/modals/howto_disk_modal.py,sha256=yHMy4GFB39YXV4PVFyJe2y_1WgoeBCIlwr20gZEjF5c,1193
|
|
40
|
-
vmanager/modals/howto_network_modal.py,sha256=arSiPHlq_wW7QLzwBkH_L5O-E7UmvwMXiuaEVlAGJdk,1215
|
|
41
|
-
vmanager/modals/howto_overlay_modal.py,sha256=EJYrrW9nJsD0qSXBKabFbAEP_R1MOodsyDxEDW-ONbc,1228
|
|
42
|
-
vmanager/modals/howto_ssh_modal.py,sha256=e0I-ntbk8-DZSl9t2T3eKW_EBcQvVqiwdqQKa9HIylM,1177
|
|
43
|
-
vmanager/modals/howto_virtiofs_modal.py,sha256=GSnKjSBAutOXa16EToyuOWHycLRf94Qdlnq1XcJGHd0,1209
|
|
44
|
-
vmanager/modals/input_modals.py,sha256=PEfM2IHc8QFR4BZf5uSuJz-7uiclRq6z65cZES_GJpk,7719
|
|
45
|
-
vmanager/modals/log_modal.py,sha256=WXzha9mm5dO9jOmTSO52gJnOmgO7ZkBRrjS2_MiYMyQ,1095
|
|
46
|
-
vmanager/modals/migration_modals.py,sha256=MkuGeDBe1v-BxP7BjrpGB8KxQh4x-SZHHKD1c9mV5wE,20422
|
|
47
|
-
vmanager/modals/network_modals.py,sha256=U8lKrLdW57WIpfzHDd_d5hqNTFrtWheF9CRvwnEqtzo,18506
|
|
48
|
-
vmanager/modals/provisioning_modals.py,sha256=Yx7zO8Zvo0qVpW9ctRZg0RmzIwik-tevXADXn5AhEeg,28882
|
|
49
|
-
vmanager/modals/select_server_modals.py,sha256=eAA9hmBjeK_2_AF7jRKyWcocj_LvmgP7ZFRp6H0NGi4,4994
|
|
50
|
-
vmanager/modals/selection_modals.py,sha256=Pd8ZhQ-ezp2MUNT7SV0pdk2OpAYpI5YuuizaDJQTtek,6096
|
|
51
|
-
vmanager/modals/server_modals.py,sha256=fQP8Sj7y7-i2UijS27yFvOywFAWiXdQcj27scYa2IoE,10191
|
|
52
|
-
vmanager/modals/server_prefs_modals.py,sha256=AxRYfJm8Q-IFkKx1u3To_7yZkGhaPanabI-COdULD-k,39275
|
|
53
|
-
vmanager/modals/utils_modals.py,sha256=ijJQZF68icCWNwmKFnoeS7avufjafc7Z4egaaB_79Xg,8675
|
|
54
|
-
vmanager/modals/virsh_modals.py,sha256=t5TT8sNyb3vUJ0a7j6KpH8LdXAvjJ0U9L6NtulSB5x0,4782
|
|
55
|
-
vmanager/modals/virtiofs_modals.py,sha256=R2R6Rcaeg3QLsUgC5v9BjJfvyXtXWVO_eL3iqchanuk,2145
|
|
56
|
-
vmanager/modals/vm_type_info_modal.py,sha256=KlNGwPnpZSkkONoLI7eLp64eYgNYNlWaYiIukfugmL8,4218
|
|
57
|
-
vmanager/modals/vmanager_modals.py,sha256=Ix4SxO_e8SfBg0B2iou6M5xk1DigO814e6iwD5kqkjY,7363
|
|
58
|
-
vmanager/modals/vmcard_dialog.py,sha256=EYS19Ooy6KviTPLVzBjGEkALvKRYLJG9rksMHXRO0VU,18674
|
|
59
|
-
vmanager/modals/vmdetails_modals.py,sha256=YE0u71-K-GV5n_38oIzCD2EvqTCIJmJcv3B1Ofej5Rg,149636
|
|
60
|
-
vmanager/modals/xml_modals.py,sha256=iY981cqzVnDYOUo-kw1DHpW9I7IVAU1K7rFqqvxltOk,1653
|
|
61
|
-
virtui_manager-1.1.6.dist-info/METADATA,sha256=rVmqF190noCHtV6z3ZsXhWjC-OoAfUmnn6pKC0-8v9c,5329
|
|
62
|
-
virtui_manager-1.1.6.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
63
|
-
virtui_manager-1.1.6.dist-info/entry_points.txt,sha256=hnJHxJyDFPSNdOaxmMYikXeoJMXG2llKG-l_Ygv7ges,163
|
|
64
|
-
virtui_manager-1.1.6.dist-info/top_level.txt,sha256=fQ1nwH-4wZrf6Rc9HEHbudVahpy3TqeuMxgaaNHevxM,9
|
|
65
|
-
virtui_manager-1.1.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|