move scene_collection_in_scene_collections into validation

This commit is contained in:
onyx-and-iris 2025-04-20 21:55:28 +01:00
parent ab24ca1620
commit bfa657ee71
2 changed files with 14 additions and 13 deletions

View File

@ -2,6 +2,7 @@
import typer import typer
from . import validate
from .alias import AliasGroup from .alias import AliasGroup
app = typer.Typer(cls=AliasGroup) app = typer.Typer(cls=AliasGroup)
@ -26,20 +27,10 @@ def current(ctx: typer.Context):
typer.echo(resp.current_scene_collection_name) typer.echo(resp.current_scene_collection_name)
def _scene_collection_in_scene_collections(
ctx: typer.Context, scene_collection_name: str
) -> bool:
"""Check if a scene collection exists."""
resp = ctx.obj['obsws'].get_scene_collection_list()
return any(
collection == scene_collection_name for collection in resp.scene_collections
)
@app.command('switch | set') @app.command('switch | set')
def switch(ctx: typer.Context, scene_collection_name: str): def switch(ctx: typer.Context, scene_collection_name: str):
"""Switch to a scene collection.""" """Switch to a scene collection."""
if not _scene_collection_in_scene_collections(ctx, scene_collection_name): if not validate.scene_collection_in_scene_collections(ctx, scene_collection_name):
typer.echo(f"Scene collection '{scene_collection_name}' not found.", err=True) typer.echo(f"Scene collection '{scene_collection_name}' not found.", err=True)
raise typer.Exit(code=1) raise typer.Exit(code=1)
@ -59,7 +50,7 @@ def switch(ctx: typer.Context, scene_collection_name: str):
@app.command('create | new') @app.command('create | new')
def create(ctx: typer.Context, scene_collection_name: str): def create(ctx: typer.Context, scene_collection_name: str):
"""Create a new scene collection.""" """Create a new scene collection."""
if _scene_collection_in_scene_collections(ctx, scene_collection_name): if validate.scene_collection_in_scene_collections(ctx, scene_collection_name):
typer.echo( typer.echo(
f"Scene collection '{scene_collection_name}' already exists.", err=True f"Scene collection '{scene_collection_name}' already exists.", err=True
) )

View File

@ -1,4 +1,4 @@
"""module containing functions to validate input parameters.""" """module containing validation functions."""
import typer import typer
@ -19,3 +19,13 @@ def studio_mode_enabled(ctx: typer.Context) -> bool:
"""Check if studio mode is enabled.""" """Check if studio mode is enabled."""
resp = ctx.obj['obsws'].get_studio_mode_enabled() resp = ctx.obj['obsws'].get_studio_mode_enabled()
return resp.studio_mode_enabled return resp.studio_mode_enabled
def scene_collection_in_scene_collections(
ctx: typer.Context, scene_collection_name: str
) -> bool:
"""Check if a scene collection exists."""
resp = ctx.obj['obsws'].get_scene_collection_list()
return any(
collection == scene_collection_name for collection in resp.scene_collections
)