Browse Source

feat: add `--version` cli argument

dev
Dnomd343 4 weeks ago
parent
commit
68b722121c
  1. 9
      src/syncplay_boot/boot.py

9
src/syncplay_boot/boot.py

@ -46,6 +46,8 @@ import json
import yaml import yaml
import tomllib import tomllib
import argparse import argparse
import platform
import syncplay
from types import GenericAlias from types import GenericAlias
from typing import Any, TypedDict, NotRequired from typing import Any, TypedDict, NotRequired
@ -148,6 +150,12 @@ def load_from_env() -> SyncplayOptions:
def load_from_args() -> SyncplayOptions: def load_from_args() -> SyncplayOptions:
""" Load syncplay options from command line arguments. """ """ Load syncplay options from command line arguments. """
def __version_msg() -> str:
python_ver = f'{platform.python_implementation()} {platform.python_version()}'
return (f'{parser.description} v{syncplay.version} '
f'({syncplay.milestone} {syncplay.release_number}) '
f'[{python_ver} {platform.machine()}]')
def __build_args(opt: str) -> list[str]: def __build_args(opt: str) -> list[str]:
match opt := opt.replace('_', '-'): match opt := opt.replace('_', '-'):
case 'port': return ['-p', f'--{opt}'] case 'port': return ['-p', f'--{opt}']
@ -155,6 +163,7 @@ def load_from_args() -> SyncplayOptions:
case _: return [f'--{opt}'] case _: return [f'--{opt}']
parser = argparse.ArgumentParser(description='Syncplay Docker Bootstrap') parser = argparse.ArgumentParser(description='Syncplay Docker Bootstrap')
parser.add_argument('-v', '--version', action='version', version=__version_msg())
for name, opts in ARG_OPTS.items(): for name, opts in ARG_OPTS.items():
parser.add_argument(*__build_args(name), **opts) parser.add_argument(*__build_args(name), **opts)

Loading…
Cancel
Save