portacode 1.4.16.dev3__py3-none-any.whl → 1.4.16.dev4__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.
- portacode/_version.py +2 -2
- portacode/connection/handlers/proxmox_infra.py +19 -2
- {portacode-1.4.16.dev3.dist-info → portacode-1.4.16.dev4.dist-info}/METADATA +1 -1
- {portacode-1.4.16.dev3.dist-info → portacode-1.4.16.dev4.dist-info}/RECORD +8 -8
- {portacode-1.4.16.dev3.dist-info → portacode-1.4.16.dev4.dist-info}/WHEEL +0 -0
- {portacode-1.4.16.dev3.dist-info → portacode-1.4.16.dev4.dist-info}/entry_points.txt +0 -0
- {portacode-1.4.16.dev3.dist-info → portacode-1.4.16.dev4.dist-info}/licenses/LICENSE +0 -0
- {portacode-1.4.16.dev3.dist-info → portacode-1.4.16.dev4.dist-info}/top_level.txt +0 -0
portacode/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.4.16.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 4, 16, '
|
|
31
|
+
__version__ = version = '1.4.16.dev4'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 4, 16, 'dev4')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -259,6 +259,13 @@ def _bytes_to_gib(value: Any) -> int:
|
|
|
259
259
|
return int(round(_normalize_bytes(value) / (1024**3)))
|
|
260
260
|
|
|
261
261
|
|
|
262
|
+
def _parse_bool_flag(value: Any) -> bool:
|
|
263
|
+
if isinstance(value, bool):
|
|
264
|
+
return value
|
|
265
|
+
text = str(value or "").strip().lower()
|
|
266
|
+
return text in {"1", "true", "yes", "on"}
|
|
267
|
+
|
|
268
|
+
|
|
262
269
|
def _parse_iso_timestamp(value: str) -> Optional[datetime]:
|
|
263
270
|
if not value:
|
|
264
271
|
return None
|
|
@@ -464,6 +471,7 @@ def _build_unmanaged_container_entry(ct: Dict[str, Any], cfg: Dict[str, Any], vm
|
|
|
464
471
|
hostname = ct.get("name") or cfg.get("hostname") or f"ct{vmid}"
|
|
465
472
|
storage = cfg.get("storage") or ct.get("storage")
|
|
466
473
|
status = (ct.get("status") or "unknown").lower()
|
|
474
|
+
reserved = _parse_bool_flag(cfg.get("onboot"))
|
|
467
475
|
return {
|
|
468
476
|
"vmid": vmid,
|
|
469
477
|
"hostname": hostname,
|
|
@@ -472,6 +480,7 @@ def _build_unmanaged_container_entry(ct: Dict[str, Any], cfg: Dict[str, Any], vm
|
|
|
472
480
|
"disk_gib": disk_gib,
|
|
473
481
|
"ram_mib": ram_mib,
|
|
474
482
|
"cpu_share": cpu_share,
|
|
483
|
+
"reserve_on_boot": reserved,
|
|
475
484
|
"status": status,
|
|
476
485
|
"managed": False,
|
|
477
486
|
}
|
|
@@ -512,9 +521,17 @@ def _build_managed_containers_summary(
|
|
|
512
521
|
}
|
|
513
522
|
)
|
|
514
523
|
|
|
515
|
-
unmanaged_total_ram = sum(
|
|
524
|
+
unmanaged_total_ram = sum(
|
|
525
|
+
_to_int(entry.get("ram_mib"))
|
|
526
|
+
for entry in unmanaged_records
|
|
527
|
+
if entry.get("reserve_on_boot")
|
|
528
|
+
)
|
|
516
529
|
unmanaged_total_disk = sum(_to_int(entry.get("disk_gib")) for entry in unmanaged_records)
|
|
517
|
-
unmanaged_total_cpu = sum(
|
|
530
|
+
unmanaged_total_cpu = sum(
|
|
531
|
+
_to_float(entry.get("cpu_share"))
|
|
532
|
+
for entry in unmanaged_records
|
|
533
|
+
if entry.get("reserve_on_boot")
|
|
534
|
+
)
|
|
518
535
|
|
|
519
536
|
allocated_ram = total_ram + unmanaged_total_ram
|
|
520
537
|
allocated_disk = total_disk + unmanaged_total_disk
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
portacode/README.md,sha256=4dKtpvR8LNgZPVz37GmkQCMWIr_u25Ao63iW56s7Ke4,775
|
|
2
2
|
portacode/__init__.py,sha256=oB3sV1wXr-um-RXio73UG8E5Xx6cF2ZVJveqjNmC-vQ,1086
|
|
3
3
|
portacode/__main__.py,sha256=jmHTGC1hzmo9iKJLv-SSYe9BSIbPPZ2IOpecI03PlTs,296
|
|
4
|
-
portacode/_version.py,sha256=
|
|
4
|
+
portacode/_version.py,sha256=hp5vdfqkrwByAm4WdqNsKpWfJgPUKIkE5hM-7_9gKU4,719
|
|
5
5
|
portacode/cli.py,sha256=mGLKoZ-T2FBF7IA9wUq0zyG0X9__-A1ao7gajjcVRH8,21828
|
|
6
6
|
portacode/data.py,sha256=5-s291bv8J354myaHm1Y7CQZTZyRzMU3TGe5U4hb-FA,1591
|
|
7
7
|
portacode/keypair.py,sha256=0OO4vHDcF1XMxCDqce61xFTlFwlTcmqe5HyGsXFEt7s,5838
|
|
@@ -22,7 +22,7 @@ portacode/connection/handlers/diff_handlers.py,sha256=iYTIRCcpEQ03vIPKZCsMTE5aZb
|
|
|
22
22
|
portacode/connection/handlers/file_handlers.py,sha256=nAJH8nXnX07xxD28ngLpgIUzcTuRwZBNpEGEKdRqohw,39507
|
|
23
23
|
portacode/connection/handlers/project_aware_file_handlers.py,sha256=AqgMnDqX2893T2NsrvUSCwjN5VKj4Pb2TN0S_SuboOE,9803
|
|
24
24
|
portacode/connection/handlers/project_state_handlers.py,sha256=v6ZefGW9i7n1aZLq2jOGumJIjYb6aHlPI4m1jkYewm8,1686
|
|
25
|
-
portacode/connection/handlers/proxmox_infra.py,sha256=
|
|
25
|
+
portacode/connection/handlers/proxmox_infra.py,sha256=DQJX8-lENZxeAaC6pSw6AfXE_4E_q-63nCK7issIldU,78531
|
|
26
26
|
portacode/connection/handlers/registry.py,sha256=qXGE60sYEWg6ZtVQzFcZ5YI2XWR6lMgw4hAL9x5qR1I,6181
|
|
27
27
|
portacode/connection/handlers/session.py,sha256=uNGfiO_1B9-_yjJKkpvmbiJhIl6b-UXlT86UTfd6WYE,42219
|
|
28
28
|
portacode/connection/handlers/system_handlers.py,sha256=fr12QpOr_Z8KYGUU-AYrTQwRPAcrLK85hvj3SEq1Kw8,14757
|
|
@@ -65,7 +65,7 @@ portacode/utils/__init__.py,sha256=NgBlWTuNJESfIYJzP_3adI1yJQJR0XJLRpSdVNaBAN0,3
|
|
|
65
65
|
portacode/utils/diff_apply.py,sha256=4Oi7ft3VUCKmiUE4VM-OeqO7Gk6H7PF3WnN4WHXtjxI,15157
|
|
66
66
|
portacode/utils/diff_renderer.py,sha256=S76StnQ2DLfsz4Gg0m07UwPfRp8270PuzbNaQq-rmYk,13850
|
|
67
67
|
portacode/utils/ntp_clock.py,sha256=VqCnWCTehCufE43W23oB-WUdAZGeCcLxkmIOPwInYHc,2499
|
|
68
|
-
portacode-1.4.16.
|
|
68
|
+
portacode-1.4.16.dev4.dist-info/licenses/LICENSE,sha256=2FGbCnUDgRYuQTkB1O1dUUpu5CVAjK1j4_p6ack9Z54,1066
|
|
69
69
|
test_modules/README.md,sha256=Do_agkm9WhSzueXjRAkV_xEj6Emy5zB3N3VKY5Roce8,9274
|
|
70
70
|
test_modules/__init__.py,sha256=1LcbHodIHsB0g-g4NGjSn6AMuCoGbymvXPYLOb6Z7F0,53
|
|
71
71
|
test_modules/test_device_online.py,sha256=QtYq0Dq9vME8Gp2O4fGSheqVf8LUtpsSKosXXk56gGM,1654
|
|
@@ -91,8 +91,8 @@ testing_framework/core/playwright_manager.py,sha256=Tw46qwxIhOFkS48C2IWIQHHNpEe-
|
|
|
91
91
|
testing_framework/core/runner.py,sha256=j2QwNJmAxVBmJvcbVS7DgPJUKPNzqfLmt_4NNdaKmZU,19297
|
|
92
92
|
testing_framework/core/shared_cli_manager.py,sha256=BESSNtyQb7BOlaOvZmm04T8Uezjms4KCBs2MzTxvzYQ,8790
|
|
93
93
|
testing_framework/core/test_discovery.py,sha256=2FZ9fJ8Dp5dloA-fkgXoJ_gCMC_nYPBnA3Hs2xlagzM,4928
|
|
94
|
-
portacode-1.4.16.
|
|
95
|
-
portacode-1.4.16.
|
|
96
|
-
portacode-1.4.16.
|
|
97
|
-
portacode-1.4.16.
|
|
98
|
-
portacode-1.4.16.
|
|
94
|
+
portacode-1.4.16.dev4.dist-info/METADATA,sha256=Ld82LaJqGIk-94oOxKNjvrJh_vCwvuadSBHkpr-FucQ,13051
|
|
95
|
+
portacode-1.4.16.dev4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
96
|
+
portacode-1.4.16.dev4.dist-info/entry_points.txt,sha256=lLUUL-BM6_wwe44Xv0__5NQ1BnAz6jWjSMFvZdWW3zU,48
|
|
97
|
+
portacode-1.4.16.dev4.dist-info/top_level.txt,sha256=TGhTYUxfW8SyVZc_zGgzjzc24gGT7nSw8Qf73liVRKM,41
|
|
98
|
+
portacode-1.4.16.dev4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|