mirror of
https://github.com/onyx-and-iris/obsws-cli.git
synced 2026-01-11 08:27:50 +00:00
profile_exists validation log now callbacks
This commit is contained in:
parent
f74ec9cd93
commit
9cdbc657fa
@ -62,15 +62,14 @@ def switch(
|
|||||||
profile_name: Annotated[
|
profile_name: Annotated[
|
||||||
str,
|
str,
|
||||||
typer.Argument(
|
typer.Argument(
|
||||||
..., show_default=False, help='Name of the profile to switch to'
|
...,
|
||||||
|
show_default=False,
|
||||||
|
help='Name of the profile to switch to',
|
||||||
|
callback=validate.profile_exists,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
):
|
):
|
||||||
"""Switch to a profile."""
|
"""Switch to a profile."""
|
||||||
if not validate.profile_exists(ctx, profile_name):
|
|
||||||
console.err.print(f'Profile [yellow]{profile_name}[/yellow] not found.')
|
|
||||||
raise typer.Exit(1)
|
|
||||||
|
|
||||||
resp = ctx.obj['obsws'].get_profile_list()
|
resp = ctx.obj['obsws'].get_profile_list()
|
||||||
if resp.current_profile_name == profile_name:
|
if resp.current_profile_name == profile_name:
|
||||||
console.err.print(
|
console.err.print(
|
||||||
@ -87,14 +86,15 @@ def create(
|
|||||||
ctx: typer.Context,
|
ctx: typer.Context,
|
||||||
profile_name: Annotated[
|
profile_name: Annotated[
|
||||||
str,
|
str,
|
||||||
typer.Argument(..., show_default=False, help='Name of the profile to create.'),
|
typer.Argument(
|
||||||
|
...,
|
||||||
|
show_default=False,
|
||||||
|
help='Name of the profile to create.',
|
||||||
|
callback=validate.profile_not_exists,
|
||||||
|
),
|
||||||
],
|
],
|
||||||
):
|
):
|
||||||
"""Create a new profile."""
|
"""Create a new profile."""
|
||||||
if validate.profile_exists(ctx, profile_name):
|
|
||||||
console.err.print(f'Profile [yellow]{profile_name}[/yellow] already exists.')
|
|
||||||
raise typer.Exit(1)
|
|
||||||
|
|
||||||
ctx.obj['obsws'].create_profile(profile_name)
|
ctx.obj['obsws'].create_profile(profile_name)
|
||||||
console.out.print(f'Created profile {console.highlight(ctx, profile_name)}.')
|
console.out.print(f'Created profile {console.highlight(ctx, profile_name)}.')
|
||||||
|
|
||||||
@ -104,13 +104,14 @@ def remove(
|
|||||||
ctx: typer.Context,
|
ctx: typer.Context,
|
||||||
profile_name: Annotated[
|
profile_name: Annotated[
|
||||||
str,
|
str,
|
||||||
typer.Argument(..., show_default=False, help='Name of the profile to remove.'),
|
typer.Argument(
|
||||||
|
...,
|
||||||
|
show_default=False,
|
||||||
|
help='Name of the profile to remove.',
|
||||||
|
callback=validate.profile_exists,
|
||||||
|
),
|
||||||
],
|
],
|
||||||
):
|
):
|
||||||
"""Remove a profile."""
|
"""Remove a profile."""
|
||||||
if not validate.profile_exists(ctx, profile_name):
|
|
||||||
console.err.print(f'Profile [yellow]{profile_name}[/yellow] not found.')
|
|
||||||
raise typer.Exit(1)
|
|
||||||
|
|
||||||
ctx.obj['obsws'].remove_profile(profile_name)
|
ctx.obj['obsws'].remove_profile(profile_name)
|
||||||
console.out.print(f'Removed profile {console.highlight(ctx, profile_name)}.')
|
console.out.print(f'Removed profile {console.highlight(ctx, profile_name)}.')
|
||||||
|
|||||||
@ -79,10 +79,22 @@ def item_in_scene_item_list(
|
|||||||
return any(item.get('sourceName') == item_name for item in resp.scene_items)
|
return any(item.get('sourceName') == item_name for item in resp.scene_items)
|
||||||
|
|
||||||
|
|
||||||
def profile_exists(ctx: typer.Context, profile_name: str) -> bool:
|
def profile_exists(ctx: typer.Context, profile_name: str) -> str:
|
||||||
"""Check if a profile exists."""
|
"""Ensure a profile exists."""
|
||||||
resp = ctx.obj['obsws'].get_profile_list()
|
resp = ctx.obj['obsws'].get_profile_list()
|
||||||
return any(profile == profile_name for profile in resp.profiles)
|
if not any(profile == profile_name for profile in resp.profiles):
|
||||||
|
console.err.print(f'Profile [yellow]{profile_name}[/yellow] not found.')
|
||||||
|
raise typer.Exit(1)
|
||||||
|
return profile_name
|
||||||
|
|
||||||
|
|
||||||
|
def profile_not_exists(ctx: typer.Context, profile_name: str) -> str:
|
||||||
|
"""Ensure a profile does not exist."""
|
||||||
|
resp = ctx.obj['obsws'].get_profile_list()
|
||||||
|
if any(profile == profile_name for profile in resp.profiles):
|
||||||
|
console.err.print(f'Profile [yellow]{profile_name}[/yellow] already exists.')
|
||||||
|
raise typer.Exit(1)
|
||||||
|
return profile_name
|
||||||
|
|
||||||
|
|
||||||
def monitor_exists(ctx: typer.Context, monitor_index: int) -> bool:
|
def monitor_exists(ctx: typer.Context, monitor_index: int) -> bool:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user