add available themes to --theme help string

patch bump
This commit is contained in:
onyx-and-iris 2025-06-26 08:56:32 +01:00
parent d8cdae61a9
commit bba2361964
3 changed files with 27 additions and 25 deletions

View File

@ -65,33 +65,32 @@ Just enter the filename and click *Start Recording*.
#### Themes #### Themes
Passing flags is fine, however, for example to set the theme: However, passing flags is fine, for example to set the theme:
```console ```console
simple-recorder --theme="Light Purple" simple-recorder --theme="Light Purple"
``` ```
Available themes: Light Purple, Neutral Blue, Reds, Sandy Beach, Kayak, Light Blue 2, Dark Teal1
### CLI ### CLI
```shell ```shell
Usage: simple-recorder [OPTIONS] COMMAND Usage: simple-recorder [OPTIONS] COMMAND
┏━ Subcommands ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━ Subcommands ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ start Start recording ┃ ┃ start Start recording ┃
┃ stop Stop recording ┃ ┃ stop Stop recording ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏━ Options ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━ Options ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃ --host <HOST> OBS WebSocket host ┃ ┃ --host <HOST> OBS WebSocket host ┃
┃ --port <PORT> OBS WebSocket port ┃ ┃ --port <PORT> OBS WebSocket port ┃
┃ --password <PASSWORD> OBS WebSocket password ┃ ┃ --password <PASSWORD> OBS WebSocket password ┃
┃ --theme <THEME> GUI theme ┃ ┃ --theme <THEME> GUI theme (Light Purple, Neutral Blue, Reds, Sandy Beach, ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ Kayak, Light Blue 2) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
``` ```
For example: To launch the CLI pass any subcommand (start/stop etc...), for example:
```console ```console
simple-recorder start "File Name" simple-recorder start "File Name"

View File

@ -1,6 +1,6 @@
[project] [project]
name = "simple-recorder" name = "simple-recorder"
version = "0.1.4" version = "0.1.5"
description = "A simple OBS recorder" description = "A simple OBS recorder"
authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }] authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }]
dependencies = [ dependencies = [

View File

@ -15,9 +15,6 @@ config = ClypiConfig(
) )
configure(config) configure(config)
def theme_parser(value: str) -> str:
"""Parse the theme argument."""
themes = [ themes = [
"Light Purple", "Light Purple",
"Neutral Blue", "Neutral Blue",
@ -25,8 +22,11 @@ def theme_parser(value: str) -> str:
"Sandy Beach", "Sandy Beach",
"Kayak", "Kayak",
"Light Blue 2", "Light Blue 2",
"Dark Teal1",
] ]
def theme_parser(value: str) -> str:
"""Parse the theme argument."""
if value not in themes: if value not in themes:
raise ClypiException( raise ClypiException(
f"Invalid theme: {value}. Available themes: {', '.join(themes)}" f"Invalid theme: {value}. Available themes: {', '.join(themes)}"
@ -42,7 +42,10 @@ class SimpleRecorder(Command):
default=None, env="OBS_PASSWORD", help="OBS WebSocket password" default=None, env="OBS_PASSWORD", help="OBS WebSocket password"
) )
theme: str = arg( theme: str = arg(
default="Reds", parser=theme_parser, env="OBS_THEME", help="GUI theme" default="Reds",
parser=theme_parser,
env="OBS_THEME",
help=f"GUI theme ({', '.join(themes)})",
) )
@override @override