From bde4ecb72f769c28e7bf6686531aa9dd8e4a11c0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 18 Aug 2024 15:23:15 +0000 Subject: [PATCH] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .github/workflows/release.yml | 10 ++--- requirements.txt | 2 +- src/iSponsorBlockTV/helpers.py | 70 +++++++++++++++++++++++++--------- 3 files changed, 58 insertions(+), 24 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d04d88a..d4d628a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -145,7 +145,7 @@ jobs: run: |- current_version=$(hatch version) PYAPP_PROJECT_PATH="${{ github.workspace }}/dist/isponsorblocktv-${current_version}-py3-none-any.whl" hatch -v build -t binary - + - name: Rename binary working-directory: ${{ github.workspace }} run: |- @@ -164,7 +164,7 @@ jobs: permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing # only run step if the event is a published release - if: github.event_name == 'release' && github.event.action == 'published' + if: github.event_name == 'release' && github.event.action == 'published' runs-on: ubuntu-latest steps: - name: Get artifact @@ -179,10 +179,10 @@ jobs: publish-to-release: - needs: + needs: - build-sdist-and-wheel - build-binaries - if: github.event_name == 'release' && github.event.action == 'published' + if: github.event_name == 'release' && github.event.action == 'published' runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 @@ -193,4 +193,4 @@ jobs: - name: Add assets to release uses: softprops/action-gh-release@v2 with: - files: dist/* \ No newline at end of file + files: dist/* diff --git a/requirements.txt b/requirements.txt index a30b6c1..0b6deb3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,4 +8,4 @@ ssdp==1.3.0 textual==0.58.0 textual-slider==0.1.1 xmltodict==0.13.0 -rich_click==1.8.3 \ No newline at end of file +rich_click==1.8.3 diff --git a/src/iSponsorBlockTV/helpers.py b/src/iSponsorBlockTV/helpers.py index aa5490a..6b4880e 100644 --- a/src/iSponsorBlockTV/helpers.py +++ b/src/iSponsorBlockTV/helpers.py @@ -1,10 +1,10 @@ -import rich_click as click import json import logging import os import sys import time +import rich_click as click from appdirs import user_data_dir from . import config_setup, main, setup_wizard @@ -127,17 +127,30 @@ class Config: @click.group(invoke_without_command=True) -@click.option('--data', '-d', default=lambda: os.getenv("iSPBTV_data_dir") or user_data_dir("iSponsorBlockTV", "dmunozv04"), help='data directory') -@click.option('--debug', is_flag=True, help='debug mode') -#legacy commands as arguments -@click.option('--setup', is_flag=True, help='Setup the program graphically', hidden=True) -@click.option('--setup-cli', is_flag=True, help='Setup the program in the command line', hidden=True) +@click.option( + "--data", + "-d", + default=lambda: os.getenv("iSPBTV_data_dir") + or user_data_dir("iSponsorBlockTV", "dmunozv04"), + help="data directory", +) +@click.option("--debug", is_flag=True, help="debug mode") +# legacy commands as arguments +@click.option( + "--setup", is_flag=True, help="Setup the program graphically", hidden=True +) +@click.option( + "--setup-cli", + is_flag=True, + help="Setup the program in the command line", + hidden=True, +) @click.pass_context def cli(ctx, data, debug, setup, setup_cli): """iSponsorblockTV""" ctx.ensure_object(dict) - ctx.obj['data_dir'] = data - ctx.obj['debug'] = debug + ctx.obj["data_dir"] = data + ctx.obj["debug"] = debug if debug: logging.basicConfig(level=logging.DEBUG) if ctx.invoked_subcommand is None: @@ -148,37 +161,58 @@ def cli(ctx, data, debug, setup, setup_cli): else: ctx.invoke(start) + @cli.command() @click.pass_context def setup(ctx): """Setup the program graphically""" - config = Config(ctx.obj['data_dir']) + config = Config(ctx.obj["data_dir"]) setup_wizard.main(config) sys.exit() + + setup_command = setup + + @cli.command() @click.pass_context def setup_cli(ctx): """Setup the program in the command line""" - config = Config(ctx.obj['data_dir']) - config_setup.main(config, ctx.obj['debug']) + config = Config(ctx.obj["data_dir"]) + config_setup.main(config, ctx.obj["debug"]) + + setup_cli_command = setup_cli + + @cli.command() @click.pass_context def start(ctx): """Start the main program""" - config = Config(ctx.obj['data_dir']) + config = Config(ctx.obj["data_dir"]) config.validate() - main.main(config, ctx.obj['debug']) + main.main(config, ctx.obj["debug"]) + # Create fake "self" group to show pyapp options in help menu -#Subcommands remove, restore, update +# Subcommands remove, restore, update pyapp_group = click.RichGroup("self", help="pyapp options (update, remove, restore)") -pyapp_group.add_command(click.RichCommand("update", help="Update the package to the latest version")) -pyapp_group.add_command(click.Command("remove", help="Remove the package, wiping the installation but not the data")) -pyapp_group.add_command(click.RichCommand("restore", help="Restore the package to its original state by reinstalling it")) +pyapp_group.add_command( + click.RichCommand("update", help="Update the package to the latest version") +) +pyapp_group.add_command( + click.Command( + "remove", help="Remove the package, wiping the installation but not the data" + ) +) +pyapp_group.add_command( + click.RichCommand( + "restore", help="Restore the package to its original state by reinstalling it" + ) +) if os.getenv("PYAPP"): cli.add_command(pyapp_group) + def app_start(): - cli(obj={}) \ No newline at end of file + cli(obj={})