if no kind flags default to all

This commit is contained in:
onyx-and-iris 2025-04-21 19:49:25 +01:00
parent 10d5c7b643
commit 29238395cf

View File

@ -25,16 +25,24 @@ def list(
"""List all inputs.""" """List all inputs."""
resp = ctx.obj['obsws'].get_input_list() resp = ctx.obj['obsws'].get_input_list()
filters = [] # For each kind flag, if it is set to True, add it to the kinds list.
if input: # If no flags are set, default to all kinds.
filters.append('input') # Define a mapping of kind names to their corresponding flags
if output: kind_flags = {
filters.append('output') 'input': input,
if colour: 'output': output,
filters.append('color') 'color': colour,
}
# Collect all kinds where the corresponding flag is set to True
kinds = [kind for kind, flag in kind_flags.items() if flag]
# If no flags are set, default to all kinds
if not kinds:
kinds = list(kind_flags.keys())
inputs = filter( inputs = filter(
lambda input_: any(kind in input_.get('inputKind') for kind in filters), lambda input_: any(kind in input_.get('inputKind') for kind in kinds),
resp.inputs, resp.inputs,
) )
typer.echo('\n'.join(input_.get('inputName') for input_ in inputs)) typer.echo('\n'.join(input_.get('inputName') for input_ in inputs))