8000 Fix --help on subcommands · Issue #885 · python-kasa/python-kasa · GitHub
[go: up one dir, main page]

Skip to content

Fix --help on subcommands #885

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
rytilahti opened this issue Apr 29, 2024 · 0 comments · Fixed by #886
Closed

Fix --help on subcommands #885

rytilahti opened this issue Apr 29, 2024 · 0 comments · Fixed by #886
Labels
bug Something isn't working
Milestone

Comments

@rytilahti
Copy link
Member

Since Device is now an abstract interface, it cannot be created like it's currently done for the purposes of --help on subcommands.

Traceback (most recent call last):
  File "/home/tpr/code/python-kasa/.venv/bin/kasa", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/asyncclick/core.py", line 1205, in __call__
    return anyio.run(self._main, main, args, kwargs, **opts)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/anyio/_core/_eventloop.py", line 73, in run
    return async_backend.run(func, args, {}, backend_options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2001, in run
    return runner.run(wrapper())
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 1989, in wrapper
    return await func(*args)
           ^^^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/asyncclick/core.py", line 1208, in _main
    return await main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/asyncclick/core.py", line 1120, in main
    rv = await self.invoke(ctx)
         ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/kasa/cli.py", line 137, in invoke
    _handle_exception(self._debug, exc)
  File "/home/tpr/code/python-kasa/kasa/cli.py", line 135, in invoke
    return await super().invoke(ctx)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/asyncclick/core.py", line 1736, in invoke
    await super().invoke(ctx)
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/asyncclick/core.py", line 1485, in invoke
    return await ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tpr/code/python-kasa/.venv/lib/python3.11/site-packages/asyncclick/core.py", line 824, in invoke
    rv = await rv
         ^^^^^^^^
  File "/home/tpr/code/python-kasa/kasa/cli.py", line 306, in cli
    ctx.obj = Device(None)
              ^^^^^^^^^^^^
TypeError: Can't instantiate abstract class Device with abstract methods alias, device_id, emeter_realtime, emeter_this_month, emeter_today, get_emeter_realtime, has_emeter, hw_info, internal_state, is_on, location, mac, model, on_since, rssi, set_alias, sys_info, time, timezone, turn_off, turn_on, update, update_from_discover_info, wifi_join, wifi_scan

@rytilahti rytilahti added the bug Something isn't working label Apr 29, 2024
@rytilahti rytilahti added this to the 0.7.0 milestone Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant
0