clonebox 0.1.4__py3-none-any.whl → 0.1.5__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.
clonebox/cli.py CHANGED
@@ -405,7 +405,7 @@ def cmd_start(args):
405
405
  vm_name = config["vm"]["name"]
406
406
 
407
407
  # Check if VM already exists
408
- cloner = SelectiveVMCloner()
408
+ cloner = SelectiveVMCloner(user_session=getattr(args, "user", False))
409
409
  try:
410
410
  existing_vms = [v["name"] for v in cloner.list_vms()]
411
411
  if vm_name in existing_vms:
@@ -417,7 +417,7 @@ def cmd_start(args):
417
417
 
418
418
  # Create new VM from config
419
419
  console.print(f"[cyan]Creating VM '{vm_name}' from config...[/]\n")
420
- vm_uuid = create_vm_from_config(config, start=True)
420
+ vm_uuid = create_vm_from_config(config, start=True, user_session=getattr(args, "user", False))
421
421
  console.print(f"\n[bold green]🎉 VM '{vm_name}' is running![/]")
422
422
  console.print(f"[dim]UUID: {vm_uuid}[/]")
423
423
 
@@ -442,13 +442,13 @@ def cmd_start(args):
442
442
  console.print("[dim]Usage: clonebox start <vm-name> or clonebox start .[/]")
443
443
  return
444
444
 
445
- cloner = SelectiveVMCloner()
445
+ cloner = SelectiveVMCloner(user_session=getattr(args, "user", False))
446
446
  cloner.start_vm(name, open_viewer=not args.no_viewer, console=console)
447
447
 
448
448
 
449
449
  def cmd_stop(args):
450
450
  """Stop a VM."""
451
- cloner = SelectiveVMCloner()
451
+ cloner = SelectiveVMCloner(user_session=getattr(args, "user", False))
452
452
  cloner.stop_vm(args.name, force=args.force, console=console)
453
453
 
454
454
 
@@ -461,13 +461,13 @@ def cmd_delete(args):
461
461
  console.print("[yellow]Cancelled.[/]")
462
462
  return
463
463
 
464
- cloner = SelectiveVMCloner()
464
+ cloner = SelectiveVMCloner(user_session=getattr(args, "user", False))
465
465
  cloner.delete_vm(args.name, delete_storage=not args.keep_storage, console=console)
466
466
 
467
467
 
468
468
  def cmd_list(args):
469
469
  """List all VMs."""
470
- cloner = SelectiveVMCloner()
470
+ cloner = SelectiveVMCloner(user_session=getattr(args, "user", False))
471
471
  vms = cloner.list_vms()
472
472
 
473
473
  if not vms:
@@ -861,12 +861,24 @@ def main():
861
861
  "name", nargs="?", default=None, help="VM name or '.' to use .clonebox.yaml"
862
862
  )
863
863
  start_parser.add_argument("--no-viewer", action="store_true", help="Don't open virt-viewer")
864
+ start_parser.add_argument(
865
+ "-u",
866
+ "--user",
867
+ action="store_true",
868
+ help="Use user session (qemu:///session) - no root required",
869
+ )
864
870
  start_parser.set_defaults(func=cmd_start)
865
871
 
866
872
  # Stop command
867
873
  stop_parser = subparsers.add_parser("stop", help="Stop a VM")
868
874
  stop_parser.add_argument("name", help="VM name")
869
875
  stop_parser.add_argument("--force", "-f", action="store_true", help="Force stop")
876
+ stop_parser.add_argument(
877
+ "-u",
878
+ "--user",
879
+ action="store_true",
880
+ help="Use user session (qemu:///session) - no root required",
881
+ )
870
882
  stop_parser.set_defaults(func=cmd_stop)
871
883
 
872
884
  # Delete command
@@ -874,10 +886,22 @@ def main():
874
886
  delete_parser.add_argument("name", help="VM name")
875
887
  delete_parser.add_argument("--yes", "-y", action="store_true", help="Skip confirmation")
876
888
  delete_parser.add_argument("--keep-storage", action="store_true", help="Keep disk images")
889
+ delete_parser.add_argument(
890
+ "-u",
891
+ "--user",
892
+ action="store_true",
893
+ help="Use user session (qemu:///session) - no root required",
894
+ )
877
895
  delete_parser.set_defaults(func=cmd_delete)
878
896
 
879
897
  # List command
880
898
  list_parser = subparsers.add_parser("list", aliases=["ls"], help="List VMs")
899
+ list_parser.add_argument(
900
+ "-u",
901
+ "--user",
902
+ action="store_true",
903
+ help="Use user session (qemu:///session) - no root required",
904
+ )
881
905
  list_parser.set_defaults(func=cmd_list)
882
906
 
883
907
  # Detect command
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clonebox
3
- Version: 0.1.4
3
+ Version: 0.1.5
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
@@ -0,0 +1,11 @@
1
+ clonebox/__init__.py,sha256=IOk7G0DiSQ33EGbFC0xbnnFB9aou_6yuyFxvycQEvA0,407
2
+ clonebox/__main__.py,sha256=Fcoyzwwyz5-eC_sBlQk5a5RbKx8uodQz5sKJ190U0NU,135
3
+ clonebox/cli.py,sha256=TROvvv2BtUqKp5osXVUBvmPAdYTeTf0M-e69YaYQp78,32700
4
+ clonebox/cloner.py,sha256=Uoh9mCUX-3p2tFL_3qlf2R2232JCXO5YhWrgKTpEr0s,19369
5
+ clonebox/detector.py,sha256=jkzENmi4720n5e04k6gM7MNvXbQdYX-z1_O3Id0WK9w,12505
6
+ clonebox-0.1.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
7
+ clonebox-0.1.5.dist-info/METADATA,sha256=WWS_bye_xkDuWeJSfOMk7BDaDcL1rfE4RtZiKNlO1nA,13126
8
+ clonebox-0.1.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
9
+ clonebox-0.1.5.dist-info/entry_points.txt,sha256=FES95Vi3btfViLEEoHdb8nikNxTqzaooi9ehZw9ZfWI,47
10
+ clonebox-0.1.5.dist-info/top_level.txt,sha256=LdMo2cvCrEcRGH2M8JgQNVsCoszLV0xug6kx1JnaRjo,9
11
+ clonebox-0.1.5.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- clonebox/__init__.py,sha256=IOk7G0DiSQ33EGbFC0xbnnFB9aou_6yuyFxvycQEvA0,407
2
- clonebox/__main__.py,sha256=Fcoyzwwyz5-eC_sBlQk5a5RbKx8uodQz5sKJ190U0NU,135
3
- clonebox/cli.py,sha256=gtnFl0Jibfwuy4uMF9_BPTOvbHzTgpXsy71WwLEtY64,31781
4
- clonebox/cloner.py,sha256=Uoh9mCUX-3p2tFL_3qlf2R2232JCXO5YhWrgKTpEr0s,19369
5
- clonebox/detector.py,sha256=jkzENmi4720n5e04k6gM7MNvXbQdYX-z1_O3Id0WK9w,12505
6
- clonebox-0.1.4.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
7
- clonebox-0.1.4.dist-info/METADATA,sha256=YQg_Br_7JJcWvhNTKhWokMXftG2Xht_zfPQ_zmJuzSQ,13126
8
- clonebox-0.1.4.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
9
- clonebox-0.1.4.dist-info/entry_points.txt,sha256=FES95Vi3btfViLEEoHdb8nikNxTqzaooi9ehZw9ZfWI,47
10
- clonebox-0.1.4.dist-info/top_level.txt,sha256=LdMo2cvCrEcRGH2M8JgQNVsCoszLV0xug6kx1JnaRjo,9
11
- clonebox-0.1.4.dist-info/RECORD,,