clonebox 1.1.11__py3-none-any.whl → 1.1.12__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.

Potentially problematic release.


This version of clonebox might be problematic. Click here for more details.

clonebox/cli.py CHANGED
@@ -1825,23 +1825,37 @@ def cmd_test(args):
1825
1825
  # Test 4: Check mounts (if running)
1826
1826
  if not quick and state == "running":
1827
1827
  console.print("[bold]4. Mount Points Check[/]")
1828
- all_paths = config.get("paths", {}).copy()
1829
- all_paths.update(config.get("app_data_paths", {}))
1828
+ paths = config.get("paths", {})
1829
+ app_data_paths = config.get("app_data_paths", {})
1830
1830
 
1831
- if all_paths:
1831
+ if paths or app_data_paths:
1832
1832
  if not _qga_ping(vm_name, conn_uri):
1833
1833
  console.print("[yellow]⚠️ QEMU guest agent not connected - cannot verify mounts[/]")
1834
1834
  else:
1835
- for idx, (host_path, guest_path) in enumerate(all_paths.items()):
1835
+ # Check bind mounts
1836
+ for idx, (host_path, guest_path) in enumerate(paths.items()):
1836
1837
  try:
1837
1838
  # Use the same QGA helper as diagnose/status
1838
1839
  is_accessible = _qga_exec(
1839
1840
  vm_name, conn_uri, f"test -d {guest_path} && echo yes || echo no", timeout=5
1840
1841
  )
1841
1842
  if is_accessible == "yes":
1842
- console.print(f"[green]✅ {guest_path}[/]")
1843
+ console.print(f"[green]✅ {guest_path} (mount)[/]")
1844
+ else:
1845
+ console.print(f"[red]❌ {guest_path} (mount inaccessible)[/]")
1846
+ except Exception:
1847
+ console.print(f"[yellow]⚠️ {guest_path} (could not check)[/]")
1848
+
1849
+ # Check copied paths
1850
+ for idx, (host_path, guest_path) in enumerate(app_data_paths.items()):
1851
+ try:
1852
+ is_accessible = _qga_exec(
1853
+ vm_name, conn_uri, f"test -d {guest_path} && echo yes || echo no", timeout=5
1854
+ )
1855
+ if is_accessible == "yes":
1856
+ console.print(f"[green]✅ {guest_path} (copied)[/]")
1843
1857
  else:
1844
- console.print(f"[red]❌ {guest_path} (not accessible)[/]")
1858
+ console.print(f"[red]❌ {guest_path} (copy missing)[/]")
1845
1859
  except Exception:
1846
1860
  console.print(f"[yellow]⚠️ {guest_path} (could not check)[/]")
1847
1861
  else:
@@ -2521,14 +2535,22 @@ def cmd_clone(args):
2521
2535
  console.print(" [cyan]clonebox-health[/] # Re-run health check")
2522
2536
 
2523
2537
  # Show mount instructions
2524
- all_paths = config.get("paths", {}).copy()
2525
- all_paths.update(config.get("app_data_paths", {}))
2526
- if all_paths:
2527
- console.print("\n[bold]📁 Mounted paths (automatic):[/]")
2528
- for idx, (host, guest) in enumerate(list(all_paths.items())[:5]):
2538
+ paths = config.get("paths", {})
2539
+ app_data_paths = config.get("app_data_paths", {})
2540
+
2541
+ if paths:
2542
+ console.print("\n[bold]📁 Mounted paths (shared live):[/]")
2543
+ for idx, (host, guest) in enumerate(list(paths.items())[:5]):
2544
+ console.print(f" [dim]{host}[/] → [cyan]{guest}[/]")
2545
+ if len(paths) > 5:
2546
+ console.print(f" [dim]... and {len(paths) - 5} more paths[/]")
2547
+
2548
+ if app_data_paths:
2549
+ console.print("\n[bold]📥 Copied paths (one-time import):[/]")
2550
+ for idx, (host, guest) in enumerate(list(app_data_paths.items())[:5]):
2529
2551
  console.print(f" [dim]{host}[/] → [cyan]{guest}[/]")
2530
- if len(all_paths) > 5:
2531
- console.print(f" [dim]... and {len(all_paths) - 5} more paths[/]")
2552
+ if len(app_data_paths) > 5:
2553
+ console.print(f" [dim]... and {len(app_data_paths) - 5} more paths[/]")
2532
2554
  except PermissionError as e:
2533
2555
  console.print(f"[red]❌ Permission Error:[/]\n{e}")
2534
2556
  console.print("\n[yellow]💡 Try running with --user flag:[/]")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clonebox
3
- Version: 1.1.11
3
+ Version: 1.1.12
4
4
  Summary: Clone your workstation environment to an isolated VM with selective apps, paths and services
5
5
  Author: CloneBox Team
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  clonebox/__init__.py,sha256=CyfHVVq6KqBr4CNERBpXk_O6Q5B35q03YpdQbokVvvI,408
2
2
  clonebox/__main__.py,sha256=Fcoyzwwyz5-eC_sBlQk5a5RbKx8uodQz5sKJ190U0NU,135
3
- clonebox/cli.py,sha256=6aaIMefXxoRQgzlQDOqKFHq7e8U0CIH5TuYKrsobhH4,137848
3
+ clonebox/cli.py,sha256=CcqJgVH-hSGm4FXTuJCWniocKnAeQayhPPO17nxK578,139009
4
4
  clonebox/cloner.py,sha256=sCUeGLY64rXVoEmstS5oFLbCmwwFyR8LhIzkmplMemI,96242
5
5
  clonebox/container.py,sha256=tiYK1ZB-DhdD6A2FuMA0h_sRNkUI7KfYcJ0tFOcdyeM,6105
6
6
  clonebox/dashboard.py,sha256=dMY6odvPq3j6FronhRRsX7aY3qdCwznB-aCWKEmHDNw,5768
@@ -34,9 +34,9 @@ clonebox/snapshots/manager.py,sha256=hGzM8V6ZJPXjTqj47c4Kr8idlE-c1Q3gPUvuw1HvS1A
34
34
  clonebox/snapshots/models.py,sha256=sRnn3OZE8JG9FZJlRuA3ihO-JXoPCQ3nD3SQytflAao,6206
35
35
  clonebox/templates/profiles/ml-dev.yaml,sha256=w07MToGh31xtxpjbeXTBk9BkpAN8A3gv8HeA3ESKG9M,461
36
36
  clonebox/templates/profiles/web-stack.yaml,sha256=EBnnGMzML5vAjXmIUbCpbTCwmRaNJiuWd3EcL43DOK8,485
37
- clonebox-1.1.11.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
38
- clonebox-1.1.11.dist-info/METADATA,sha256=Nd5R6Fz4EC6YSoGP4Nyvylyazun0Hx_wbyRNiNndk34,48916
39
- clonebox-1.1.11.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
40
- clonebox-1.1.11.dist-info/entry_points.txt,sha256=FES95Vi3btfViLEEoHdb8nikNxTqzaooi9ehZw9ZfWI,47
41
- clonebox-1.1.11.dist-info/top_level.txt,sha256=LdMo2cvCrEcRGH2M8JgQNVsCoszLV0xug6kx1JnaRjo,9
42
- clonebox-1.1.11.dist-info/RECORD,,
37
+ clonebox-1.1.12.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
38
+ clonebox-1.1.12.dist-info/METADATA,sha256=VwCiMx2lcWX9XB9w89M16zRtQPuPhu1RW1KHdIxeJrA,48916
39
+ clonebox-1.1.12.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
40
+ clonebox-1.1.12.dist-info/entry_points.txt,sha256=FES95Vi3btfViLEEoHdb8nikNxTqzaooi9ehZw9ZfWI,47
41
+ clonebox-1.1.12.dist-info/top_level.txt,sha256=LdMo2cvCrEcRGH2M8JgQNVsCoszLV0xug6kx1JnaRjo,9
42
+ clonebox-1.1.12.dist-info/RECORD,,