Compare commits

...

4 Commits

Author SHA1 Message Date
6b22e02bb2 move func 2025-04-30 21:26:55 +01:00
944eeea244 add obsws-cli source (local) 2025-04-30 16:31:13 +01:00
612ae9e667 add script metadata 2025-04-30 16:25:26 +01:00
969f28fab4 add --output to generate
specify ./man as output dir in hatch man script
2025-04-30 16:14:52 +01:00
3 changed files with 36 additions and 13 deletions

View File

@ -1,5 +1,18 @@
"""script for generating man pages for the CLI."""
# /// script
# dependencies = [
# "typer>=0.15.2",
# "click-man>=0.5.1",
# "obsws-cli",
# ]
#
# [tool.uv.sources]
# obsws-cli = { path = "../" }
# ///
import argparse
import typer
from click_man.core import write_man_pages
@ -7,14 +20,24 @@ from obsws_cli import app
from obsws_cli.__about__ import __version__
def make_man():
def main(target_dir: str):
"""Generate man pages for the CLI."""
cli = typer.main.get_command(app)
name = 'obsws-cli'
version = __version__
target_dir = './man'
write_man_pages(name, cli, version=version, target_dir=target_dir)
def parse_args():
"""Parse command line arguments."""
parser = argparse.ArgumentParser(description='Generate man pages for the CLI.')
parser.add_argument(
'--output', type=str, default='.', help='Directory to save man pages'
)
return parser.parse_args()
if __name__ == '__main__':
make_man()
args = parse_args()
main(args.output)

View File

@ -58,15 +58,6 @@ for module in (
app.add_typer(module.app, name=module.__name__.split('.')[-1])
@app.command()
def version(ctx: typer.Context):
"""Get the OBS Client and WebSocket versions."""
resp = ctx.obj.get_version()
typer.echo(
f'OBS Client version: {resp.obs_version} with WebSocket version: {resp.obs_web_socket_version}'
)
@app.callback()
def main(
ctx: typer.Context,
@ -95,3 +86,12 @@ def main(
timeout=settings.TIMEOUT,
)
)
@app.command()
def version(ctx: typer.Context):
"""Get the OBS Client and WebSocket versions."""
resp = ctx.obj.get_version()
typer.echo(
f'OBS Client version: {resp.obs_version} with WebSocket version: {resp.obs_web_socket_version}'
)

View File

@ -44,7 +44,7 @@ dependencies = ["click-man>=0.5.1"]
[tool.hatch.envs.default.scripts]
cli = "obsws-cli {args:}"
man = "python man/generate.py"
man = "python man/generate.py --output=./man"
[tool.hatch.envs.hatch-test]
dependencies = ["pytest>=8.3.5"]