diff --git a/obsws_cli/alias.py b/obsws_cli/alias.py index e2f82d4..6b817f3 100644 --- a/obsws_cli/alias.py +++ b/obsws_cli/alias.py @@ -1,7 +1,5 @@ """module defining a custom group class for handling command name aliases.""" -import re - import typer @@ -53,25 +51,3 @@ class RootTyperAliasGroup(typer.core.TyperGroup): case 'vc': cmd_name = 'virtualcam' return super().get_command(ctx, cmd_name) - - -class SubTyperAliasGroup(typer.core.TyperGroup): - """A custom group class to handle command name aliases for sub typers.""" - - _CMD_SPLIT_P = re.compile(r' ?[,|] ?') - - def __init__(self, *args, **kwargs): - """Initialize the AliasGroup.""" - super().__init__(*args, **kwargs) - self.no_args_is_help = True - - def get_command(self, ctx, cmd_name): - """Get a command by name.""" - cmd_name = self._group_cmd_name(cmd_name) - return super().get_command(ctx, cmd_name) - - def _group_cmd_name(self, default_name): - for cmd in self.commands.values(): - if cmd.name and default_name in self._CMD_SPLIT_P.split(cmd.name): - return cmd.name - return default_name diff --git a/obsws_cli/commands/filter.py b/obsws_cli/commands/filter.py index dfcc983..c52fdc3 100644 --- a/obsws_cli/commands/filter.py +++ b/obsws_cli/commands/filter.py @@ -8,9 +8,8 @@ from rich.table import Table from rich.text import Text from obsws_cli import console, util -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -18,7 +17,8 @@ def main(): """Control filters in OBS scenes.""" -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_( ctx: typer.Context, source_name: Annotated[ @@ -90,7 +90,8 @@ def _get_filter_enabled(ctx: typer.Context, source_name: str, filter_name: str): return resp.filter_enabled -@app.command('enable | on') +@app.command('enable') +@app.command('on', hidden=True) def enable( ctx: typer.Context, source_name: Annotated[ @@ -119,7 +120,8 @@ def enable( ) -@app.command('disable | off') +@app.command('disable') +@app.command('off', hidden=True) def disable( ctx: typer.Context, source_name: Annotated[ @@ -148,7 +150,8 @@ def disable( ) -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle( ctx: typer.Context, source_name: Annotated[ @@ -181,7 +184,8 @@ def toggle( ) -@app.command('status | ss') +@app.command('status') +@app.command('ss', hidden=True) def status( ctx: typer.Context, source_name: Annotated[ diff --git a/obsws_cli/commands/group.py b/obsws_cli/commands/group.py index b50e7bc..dd0e880 100644 --- a/obsws_cli/commands/group.py +++ b/obsws_cli/commands/group.py @@ -7,10 +7,9 @@ from rich.table import Table from rich.text import Text from obsws_cli import console, util, validate -from obsws_cli.alias import SubTyperAliasGroup from obsws_cli.protocols import DataclassProtocol -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -18,7 +17,8 @@ def main(): """Control groups in OBS scenes.""" -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_( ctx: typer.Context, scene_name: Annotated[ @@ -84,7 +84,8 @@ def _get_group(group_name: str, resp: DataclassProtocol) -> dict | None: return group -@app.command('show | sh') +@app.command('show') +@app.command('sh', hidden=True) def show( ctx: typer.Context, scene_name: Annotated[ @@ -117,7 +118,8 @@ def show( console.out.print(f'Group {console.highlight(ctx, group_name)} is now visible.') -@app.command('hide | h') +@app.command('hide') +@app.command('h', hidden=True) def hide( ctx: typer.Context, scene_name: Annotated[ @@ -150,7 +152,8 @@ def hide( console.out.print(f'Group {console.highlight(ctx, group_name)} is now hidden.') -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle( ctx: typer.Context, scene_name: Annotated[ @@ -187,7 +190,8 @@ def toggle( console.out.print(f'Group {console.highlight(ctx, group_name)} is now hidden.') -@app.command('status | ss') +@app.command('status') +@app.command('ss', hidden=True) def status( ctx: typer.Context, scene_name: Annotated[ diff --git a/obsws_cli/commands/hotkey.py b/obsws_cli/commands/hotkey.py index 64231f4..bd0b19c 100644 --- a/obsws_cli/commands/hotkey.py +++ b/obsws_cli/commands/hotkey.py @@ -7,9 +7,8 @@ from rich.table import Table from rich.text import Text from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -17,7 +16,8 @@ def main(): """Control hotkeys in OBS.""" -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_( ctx: typer.Context, ): @@ -45,7 +45,8 @@ def list_( console.out.print(table) -@app.command('trigger | tr') +@app.command('trigger') +@app.command('tr', hidden=True) def trigger( ctx: typer.Context, hotkey: Annotated[ @@ -56,7 +57,8 @@ def trigger( ctx.obj['obsws'].trigger_hotkey_by_name(hotkey) -@app.command('trigger-sequence | trs') +@app.command('trigger-sequence') +@app.command('trs', hidden=True) def trigger_sequence( ctx: typer.Context, key_id: Annotated[ diff --git a/obsws_cli/commands/input.py b/obsws_cli/commands/input.py index 5ccc7bd..74843d0 100644 --- a/obsws_cli/commands/input.py +++ b/obsws_cli/commands/input.py @@ -8,9 +8,8 @@ from rich.table import Table from rich.text import Text from obsws_cli import console, util, validate -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -18,7 +17,8 @@ def main(): """Control inputs in OBS.""" -@app.command('create | add') +@app.command('create') +@app.command('cr', hidden=True) def create( ctx: typer.Context, input_name: Annotated[ @@ -62,7 +62,8 @@ def create( ) -@app.command('remove | rm') +@app.command('remove') +@app.command('rm', hidden=True) def remove( ctx: typer.Context, input_name: Annotated[ @@ -81,7 +82,8 @@ def remove( console.out.print(f'Input {console.highlight(ctx, input_name)} removed.') -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_( ctx: typer.Context, input: Annotated[bool, typer.Option(help='Filter by input type.')] = False, @@ -168,7 +170,8 @@ def list_( console.out.print(table) -@app.command('list-kinds | ls-k') +@app.command('list-kinds') +@app.command('ls-k', hidden=True) def list_kinds( ctx: typer.Context, ): @@ -195,7 +198,8 @@ def list_kinds( console.out.print(table) -@app.command('mute | m') +@app.command('mute') +@app.command('m', hidden=True) def mute( ctx: typer.Context, input_name: Annotated[ @@ -217,7 +221,8 @@ def mute( console.out.print(f'Input {console.highlight(ctx, input_name)} muted.') -@app.command('unmute | um') +@app.command('unmute') +@app.command('um', hidden=True) def unmute( ctx: typer.Context, input_name: Annotated[ @@ -239,7 +244,8 @@ def unmute( console.out.print(f'Input {console.highlight(ctx, input_name)} unmuted.') -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle( ctx: typer.Context, input_name: Annotated[ @@ -271,7 +277,8 @@ def toggle( ) -@app.command('volume | vol') +@app.command('volume') +@app.command('vol', hidden=True) def volume( ctx: typer.Context, input_name: Annotated[ @@ -305,7 +312,8 @@ def volume( ) -@app.command('show | s') +@app.command('show') +@app.command('s', hidden=True) def show( ctx: typer.Context, input_name: Annotated[ @@ -398,7 +406,8 @@ def show( console.out.print(table) -@app.command('update | upd') +@app.command('update') +@app.command('upd', hidden=True) def update( ctx: typer.Context, input_name: Annotated[ diff --git a/obsws_cli/commands/media.py b/obsws_cli/commands/media.py index 50bf641..7b8ae2a 100644 --- a/obsws_cli/commands/media.py +++ b/obsws_cli/commands/media.py @@ -5,9 +5,8 @@ from typing import Annotated, Optional import typer from obsws_cli import console, util, validate -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -15,7 +14,8 @@ def main(): """Commands for media inputs.""" -@app.command('cursor | c') +@app.command('cursor') +@app.command('cur', hidden=True) def cursor( ctx: typer.Context, input_name: Annotated[ @@ -45,7 +45,8 @@ def cursor( ) -@app.command('play | p') +@app.command('play') +@app.command('p', hidden=True) def play( ctx: typer.Context, input_name: Annotated[ @@ -59,7 +60,8 @@ def play( console.out.print(f'Playing media input {console.highlight(ctx, input_name)}.') -@app.command('pause | pa') +@app.command('pause') +@app.command('pa', hidden=True) def pause( ctx: typer.Context, input_name: Annotated[ @@ -73,7 +75,8 @@ def pause( console.out.print(f'Paused media input {console.highlight(ctx, input_name)}.') -@app.command('stop | s') +@app.command('stop') +@app.command('s', hidden=True) def stop( ctx: typer.Context, input_name: Annotated[ @@ -87,7 +90,8 @@ def stop( console.out.print(f'Stopped media input {console.highlight(ctx, input_name)}.') -@app.command('restart | r') +@app.command('restart') +@app.command('r', hidden=True) def restart( ctx: typer.Context, input_name: Annotated[ diff --git a/obsws_cli/commands/profile.py b/obsws_cli/commands/profile.py index de25153..514c0fe 100644 --- a/obsws_cli/commands/profile.py +++ b/obsws_cli/commands/profile.py @@ -7,9 +7,8 @@ from rich.table import Table from rich.text import Text from obsws_cli import console, util, validate -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -17,7 +16,8 @@ def main(): """Control profiles in OBS.""" -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_(ctx: typer.Context): """List profiles.""" resp = ctx.obj['obsws'].get_profile_list() @@ -47,7 +47,8 @@ def list_(ctx: typer.Context): console.out.print(table) -@app.command('current | get') +@app.command('current') +@app.command('get', hidden=True) def current(ctx: typer.Context): """Get the current profile.""" resp = ctx.obj['obsws'].get_profile_list() @@ -56,7 +57,8 @@ def current(ctx: typer.Context): ) -@app.command('switch | set') +@app.command('switch') +@app.command('set', hidden=True) def switch( ctx: typer.Context, profile_name: Annotated[ @@ -81,7 +83,8 @@ def switch( console.out.print(f'Switched to profile {console.highlight(ctx, profile_name)}.') -@app.command('create | new') +@app.command('create') +@app.command('new', hidden=True) def create( ctx: typer.Context, profile_name: Annotated[ @@ -99,7 +102,8 @@ def create( console.out.print(f'Created profile {console.highlight(ctx, profile_name)}.') -@app.command('remove | rm') +@app.command('remove') +@app.command('rm', hidden=True) def remove( ctx: typer.Context, profile_name: Annotated[ diff --git a/obsws_cli/commands/projector.py b/obsws_cli/commands/projector.py index 050c7c1..3039eb9 100644 --- a/obsws_cli/commands/projector.py +++ b/obsws_cli/commands/projector.py @@ -7,9 +7,8 @@ from rich.table import Table from rich.text import Text from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -17,7 +16,8 @@ def main(): """Control projectors in OBS.""" -@app.command('list-monitors | ls-m') +@app.command('list-monitors') +@app.command('ls-m', hidden=True) def list_monitors(ctx: typer.Context): """List available monitors.""" resp = ctx.obj['obsws'].get_monitor_list() @@ -48,7 +48,8 @@ def list_monitors(ctx: typer.Context): console.out.print(table) -@app.command('open | o') +@app.command('open') +@app.command('o', hidden=True) def open( ctx: typer.Context, monitor_index: Annotated[ diff --git a/obsws_cli/commands/record.py b/obsws_cli/commands/record.py index a81645a..24fb156 100644 --- a/obsws_cli/commands/record.py +++ b/obsws_cli/commands/record.py @@ -6,9 +6,8 @@ from typing import Annotated, Optional import typer from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -22,7 +21,8 @@ def _get_recording_status(ctx: typer.Context) -> tuple: return resp.output_active, resp.output_paused -@app.command('start | s') +@app.command('start') +@app.command('s', hidden=True) def start(ctx: typer.Context): """Start recording.""" active, paused = _get_recording_status(ctx) @@ -38,7 +38,8 @@ def start(ctx: typer.Context): console.out.print('Recording started successfully.') -@app.command('stop | st') +@app.command('stop') +@app.command('st', hidden=True) def stop(ctx: typer.Context): """Stop recording.""" active, _ = _get_recording_status(ctx) @@ -52,7 +53,8 @@ def stop(ctx: typer.Context): ) -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle(ctx: typer.Context): """Toggle recording.""" resp = ctx.obj['obsws'].toggle_record() @@ -62,7 +64,8 @@ def toggle(ctx: typer.Context): console.out.print('Recording stopped successfully.') -@app.command('status | ss') +@app.command('status') +@app.command('ss', hidden=True) def status(ctx: typer.Context): """Get recording status.""" active, paused = _get_recording_status(ctx) @@ -75,7 +78,8 @@ def status(ctx: typer.Context): console.out.print('Recording is not in progress.') -@app.command('resume | r') +@app.command('resume') +@app.command('r', hidden=True) def resume(ctx: typer.Context): """Resume recording.""" active, paused = _get_recording_status(ctx) @@ -90,7 +94,8 @@ def resume(ctx: typer.Context): console.out.print('Recording resumed successfully.') -@app.command('pause | p') +@app.command('pause') +@app.command('p', hidden=True) def pause(ctx: typer.Context): """Pause recording.""" active, paused = _get_recording_status(ctx) @@ -105,7 +110,8 @@ def pause(ctx: typer.Context): console.out.print('Recording paused successfully.') -@app.command('directory | d') +@app.command('directory') +@app.command('d', hidden=True) def directory( ctx: typer.Context, record_directory: Annotated[ @@ -132,7 +138,8 @@ def directory( ) -@app.command('split | sp') +@app.command('split') +@app.command('sp', hidden=True) def split(ctx: typer.Context): """Split the current recording.""" active, paused = _get_recording_status(ctx) @@ -147,7 +154,8 @@ def split(ctx: typer.Context): console.out.print('Recording split successfully.') -@app.command('chapter | ch') +@app.command('chapter') +@app.command('ch', hidden=True) def chapter( ctx: typer.Context, chapter_name: Annotated[ diff --git a/obsws_cli/commands/replaybuffer.py b/obsws_cli/commands/replaybuffer.py index b0cc1a9..77601f2 100644 --- a/obsws_cli/commands/replaybuffer.py +++ b/obsws_cli/commands/replaybuffer.py @@ -3,9 +3,8 @@ import typer from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -13,7 +12,8 @@ def main(): """Control profiles in OBS.""" -@app.command('start | s') +@app.command('start') +@app.command('s', hidden=True) def start(ctx: typer.Context): """Start the replay buffer.""" resp = ctx.obj['obsws'].get_replay_buffer_status() @@ -25,7 +25,8 @@ def start(ctx: typer.Context): console.out.print('Replay buffer started.') -@app.command('stop | st') +@app.command('stop') +@app.command('st', hidden=True) def stop(ctx: typer.Context): """Stop the replay buffer.""" resp = ctx.obj['obsws'].get_replay_buffer_status() @@ -37,7 +38,8 @@ def stop(ctx: typer.Context): console.out.print('Replay buffer stopped.') -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle(ctx: typer.Context): """Toggle the replay buffer.""" resp = ctx.obj['obsws'].toggle_replay_buffer() @@ -47,7 +49,8 @@ def toggle(ctx: typer.Context): console.out.print('Replay buffer is not active.') -@app.command('status | ss') +@app.command('status') +@app.command('ss', hidden=True) def status(ctx: typer.Context): """Get the status of the replay buffer.""" resp = ctx.obj['obsws'].get_replay_buffer_status() @@ -57,7 +60,8 @@ def status(ctx: typer.Context): console.out.print('Replay buffer is not active.') -@app.command('save | sv') +@app.command('save') +@app.command('sv', hidden=True) def save(ctx: typer.Context): """Save the replay buffer.""" ctx.obj['obsws'].save_replay_buffer() diff --git a/obsws_cli/commands/scene.py b/obsws_cli/commands/scene.py index 8d16ee9..087dd51 100644 --- a/obsws_cli/commands/scene.py +++ b/obsws_cli/commands/scene.py @@ -7,9 +7,8 @@ from rich.table import Table from rich.text import Text from obsws_cli import console, util, validate -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -17,7 +16,8 @@ def main(): """Control OBS scenes.""" -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_( ctx: typer.Context, uuid: Annotated[bool, typer.Option(help='Show UUIDs of scenes')] = False, @@ -66,7 +66,8 @@ def list_( console.out.print(table) -@app.command('current | get') +@app.command('current') +@app.command('get', hidden=True) def current( ctx: typer.Context, preview: Annotated[ @@ -90,7 +91,8 @@ def current( ) -@app.command('switch | set') +@app.command('switch') +@app.command('set', hidden=True) def switch( ctx: typer.Context, scene_name: Annotated[ diff --git a/obsws_cli/commands/scenecollection.py b/obsws_cli/commands/scenecollection.py index 838a1ba..f08f04f 100644 --- a/obsws_cli/commands/scenecollection.py +++ b/obsws_cli/commands/scenecollection.py @@ -6,9 +6,8 @@ import typer from rich.table import Table from obsws_cli import console, validate -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -16,7 +15,8 @@ def main(): """Control scene collections in OBS.""" -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_(ctx: typer.Context): """List all scene collections.""" resp = ctx.obj['obsws'].get_scene_collection_list() @@ -40,7 +40,8 @@ def list_(ctx: typer.Context): console.out.print(table) -@app.command('current | get') +@app.command('current') +@app.command('get', hidden=True) def current(ctx: typer.Context): """Get the current scene collection.""" resp = ctx.obj['obsws'].get_scene_collection_list() @@ -49,7 +50,8 @@ def current(ctx: typer.Context): ) -@app.command('switch | set') +@app.command('switch') +@app.command('set', hidden=True) def switch( ctx: typer.Context, scene_collection_name: Annotated[ @@ -77,7 +79,8 @@ def switch( ) -@app.command('create | new') +@app.command('create') +@app.command('new', hidden=True) def create( ctx: typer.Context, scene_collection_name: Annotated[ diff --git a/obsws_cli/commands/sceneitem.py b/obsws_cli/commands/sceneitem.py index bf59421..7ac2ce7 100644 --- a/obsws_cli/commands/sceneitem.py +++ b/obsws_cli/commands/sceneitem.py @@ -6,9 +6,8 @@ import typer from rich.table import Table from obsws_cli import console, util, validate -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -16,7 +15,8 @@ def main(): """Control items in OBS scenes.""" -@app.command('list | ls') +@app.command('list') +@app.command('ls', hidden=True) def list_( ctx: typer.Context, scene_name: Annotated[ @@ -186,7 +186,8 @@ def _get_scene_name_and_item_id( return scene_name, scene_item_id -@app.command('show | sh') +@app.command('show') +@app.command('sh', hidden=True) def show( ctx: typer.Context, scene_name: Annotated[ @@ -228,7 +229,8 @@ def show( ) -@app.command('hide | h') +@app.command('hide') +@app.command('h', hidden=True) def hide( ctx: typer.Context, scene_name: Annotated[ @@ -269,7 +271,8 @@ def hide( ) -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle( ctx: typer.Context, scene_name: Annotated[ @@ -330,7 +333,8 @@ def toggle( ) -@app.command('visible | v') +@app.command('visible') +@app.command('v', hidden=True) def visible( ctx: typer.Context, scene_name: Annotated[ @@ -374,7 +378,8 @@ def visible( ) -@app.command('transform | t') +@app.command('transform') +@app.command('t', hidden=True) def transform( ctx: typer.Context, scene_name: Annotated[ diff --git a/obsws_cli/commands/screenshot.py b/obsws_cli/commands/screenshot.py index 6219053..89eef5b 100644 --- a/obsws_cli/commands/screenshot.py +++ b/obsws_cli/commands/screenshot.py @@ -7,9 +7,8 @@ import obsws_python as obsws import typer from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -17,7 +16,8 @@ def main(): """Take screenshots using OBS.""" -@app.command('save | sv') +@app.command('save') +@app.command('s', hidden=True) def save( ctx: typer.Context, source_name: Annotated[ diff --git a/obsws_cli/commands/settings.py b/obsws_cli/commands/settings.py index e2936e2..3f74ddb 100644 --- a/obsws_cli/commands/settings.py +++ b/obsws_cli/commands/settings.py @@ -7,9 +7,8 @@ from rich.table import Table from rich.text import Text from obsws_cli import console, util -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -17,7 +16,8 @@ def main(): """Manage OBS settings.""" -@app.command('show | sh') +@app.command('show') +@app.command('sh', hidden=True) def show( ctx: typer.Context, video: Annotated[ @@ -136,7 +136,8 @@ def show( console.out.print(profile_table) -@app.command('profile | pr') +@app.command('profile') +@app.command('pr', hidden=True) def profile( ctx: typer.Context, category: Annotated[ @@ -182,7 +183,8 @@ def profile( ) -@app.command('stream-service | ss') +@app.command('stream-service') +@app.command('ss', hidden=True) def stream_service( ctx: typer.Context, type_: Annotated[ @@ -249,7 +251,8 @@ def stream_service( console.out.print('Stream service settings updated.') -@app.command('video | vi') +@app.command('video') +@app.command('vi', hidden=True) def video( ctx: typer.Context, base_width: Annotated[ diff --git a/obsws_cli/commands/stream.py b/obsws_cli/commands/stream.py index 567cf91..5b8f937 100644 --- a/obsws_cli/commands/stream.py +++ b/obsws_cli/commands/stream.py @@ -3,9 +3,8 @@ import typer from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -19,7 +18,8 @@ def _get_streaming_status(ctx: typer.Context) -> tuple: return resp.output_active, resp.output_duration -@app.command('start | s') +@app.command('start') +@app.command('s', hidden=True) def start(ctx: typer.Context): """Start streaming.""" active, _ = _get_streaming_status(ctx) @@ -31,7 +31,8 @@ def start(ctx: typer.Context): console.out.print('Streaming started successfully.') -@app.command('stop | st') +@app.command('stop') +@app.command('st', hidden=True) def stop(ctx: typer.Context): """Stop streaming.""" active, _ = _get_streaming_status(ctx) @@ -43,7 +44,8 @@ def stop(ctx: typer.Context): console.out.print('Streaming stopped successfully.') -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle(ctx: typer.Context): """Toggle streaming.""" resp = ctx.obj['obsws'].toggle_stream() @@ -53,7 +55,8 @@ def toggle(ctx: typer.Context): console.out.print('Streaming stopped successfully.') -@app.command('status | ss') +@app.command('status') +@app.command('ss', hidden=True) def status(ctx: typer.Context): """Get streaming status.""" active, duration = _get_streaming_status(ctx) diff --git a/obsws_cli/commands/studiomode.py b/obsws_cli/commands/studiomode.py index 54a2f66..9db3a4c 100644 --- a/obsws_cli/commands/studiomode.py +++ b/obsws_cli/commands/studiomode.py @@ -3,9 +3,8 @@ import typer from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -13,21 +12,24 @@ def main(): """Control studio mode in OBS.""" -@app.command('enable | on') +@app.command('enable') +@app.command('on', hidden=True) def enable(ctx: typer.Context): """Enable studio mode.""" ctx.obj['obsws'].set_studio_mode_enabled(True) console.out.print('Studio mode has been enabled.') -@app.command('disable | off') +@app.command('disable') +@app.command('off', hidden=True) def disable(ctx: typer.Context): """Disable studio mode.""" ctx.obj['obsws'].set_studio_mode_enabled(False) console.out.print('Studio mode has been disabled.') -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle(ctx: typer.Context): """Toggle studio mode.""" resp = ctx.obj['obsws'].get_studio_mode_enabled() @@ -39,7 +41,8 @@ def toggle(ctx: typer.Context): console.out.print('Studio mode is now enabled.') -@app.command('status | ss') +@app.command('status') +@app.command('ss', hidden=True) def status(ctx: typer.Context): """Get the status of studio mode.""" resp = ctx.obj['obsws'].get_studio_mode_enabled() diff --git a/obsws_cli/commands/text.py b/obsws_cli/commands/text.py index 0d715dc..b391196 100644 --- a/obsws_cli/commands/text.py +++ b/obsws_cli/commands/text.py @@ -5,9 +5,8 @@ from typing import Annotated, Optional import typer from obsws_cli import console, validate -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -15,7 +14,8 @@ def main(): """Control text inputs in OBS.""" -@app.command('current | get') +@app.command('current') +@app.command('get', hidden=True) def current( ctx: typer.Context, input_name: Annotated[ @@ -41,7 +41,8 @@ def current( ) -@app.command('update | set') +@app.command('update') +@app.command('set', hidden=True) def update( ctx: typer.Context, input_name: Annotated[ diff --git a/obsws_cli/commands/virtualcam.py b/obsws_cli/commands/virtualcam.py index 01878ab..b373fd3 100644 --- a/obsws_cli/commands/virtualcam.py +++ b/obsws_cli/commands/virtualcam.py @@ -3,9 +3,8 @@ import typer from obsws_cli import console -from obsws_cli.alias import SubTyperAliasGroup -app = typer.Typer(cls=SubTyperAliasGroup) +app = typer.Typer() @app.callback() @@ -13,21 +12,24 @@ def main(): """Control virtual camera in OBS.""" -@app.command('start | s') +@app.command('start') +@app.command('s', hidden=True) def start(ctx: typer.Context): """Start the virtual camera.""" ctx.obj['obsws'].start_virtual_cam() console.out.print('Virtual camera started.') -@app.command('stop | p') +@app.command('stop') +@app.command('p', hidden=True) def stop(ctx: typer.Context): """Stop the virtual camera.""" ctx.obj['obsws'].stop_virtual_cam() console.out.print('Virtual camera stopped.') -@app.command('toggle | tg') +@app.command('toggle') +@app.command('tg', hidden=True) def toggle(ctx: typer.Context): """Toggle the virtual camera.""" resp = ctx.obj['obsws'].toggle_virtual_cam() @@ -37,7 +39,8 @@ def toggle(ctx: typer.Context): console.out.print('Virtual camera is disabled.') -@app.command('status | ss') +@app.command('status') +@app.command('ss', hidden=True) def status(ctx: typer.Context): """Get the status of the virtual camera.""" resp = ctx.obj['obsws'].get_virtual_cam_status()