Skip to content
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

fix(typing): master broken due to new typing rules/deps. #309

Merged
merged 4 commits into from
Oct 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 9 additions & 4 deletions homeassistant_cli/plugins/area.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,11 @@ def create(ctx, names):


@cli.command('delete')
@click.argument( # type: ignore
'names', nargs=-1, required=True, autocompletion=autocompletion.areas
@click.argument(
'names',
nargs=-1,
required=True,
autocompletion=autocompletion.areas, # type: ignore
)
@pass_context
def delete(ctx, names):
Expand Down Expand Up @@ -108,8 +111,10 @@ def delete(ctx, names):


@cli.command('rename')
@click.argument( # type: ignore
'oldname', required=True, autocompletion=autocompletion.areas
@click.argument(
'oldname',
required=True,
autocompletion=autocompletion.areas, # type: ignore
)
@click.argument('newname', required=True)
@pass_context
Expand Down
15 changes: 9 additions & 6 deletions homeassistant_cli/plugins/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,10 @@ def listcmd(ctx: Configuration, devicefilter: str):


@cli.command('assign')
@click.argument( # type: ignore
'area_id_or_name', required=True, autocompletion=autocompletion.areas
@click.argument(
'area_id_or_name',
required=True,
autocompletion=autocompletion.areas, # type: ignore
)
@click.argument('names', nargs=-1, required=False)
@click.option(
Expand Down Expand Up @@ -98,12 +100,13 @@ def assign(
result.append(device)

for id_or_name in names:
device = next( # type: ignore
(x for x in devices if x['id'] == id_or_name), None
device = next(
(x for x in devices if x['id'] == id_or_name), None # type: ignore
)
if not device:
device = next( # type: ignore
(x for x in devices if x['name'] == id_or_name), None
device = next(
(x for x in devices if x['name'] == id_or_name),
None, # type: ignore
)
if not device:
_LOGGING.error(
Expand Down
12 changes: 8 additions & 4 deletions homeassistant_cli/plugins/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,16 @@ def listcmd(ctx: Configuration, entityfilter: str):


@cli.command('rename')
@click.argument( # type: ignore
'oldid', required=True, autocompletion=autocompletion.entities
@click.argument(
'oldid',
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@click.option('--name', required=False)
@click.argument( # type: ignore
'newid', required=False, autocompletion=autocompletion.entities
@click.argument(
'newid',
required=False,
autocompletion=autocompletion.entities, # type: ignore
)
@pass_context
def rename(ctx, oldid, newid, name):
Expand Down
6 changes: 4 additions & 2 deletions homeassistant_cli/plugins/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ def cli(ctx):


@cli.command()
@click.argument( # type: ignore
'event', required=True, autocompletion=autocompletion.events
@click.argument(
'event',
required=True,
autocompletion=autocompletion.events, # type: ignore
)
@click.option(
'--json',
Expand Down
6 changes: 4 additions & 2 deletions homeassistant_cli/plugins/map.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@


@click.command('map')
@click.argument( # type: ignore
'entity', required=False, autocompletion=autocompletion.entities
@click.argument(
'entity',
required=False,
autocompletion=autocompletion.entities, # type: ignore
)
@click.option(
'--service', default='openstreetmap', type=click.Choice(SERVICE.keys())
Expand Down
12 changes: 6 additions & 6 deletions homeassistant_cli/plugins/raw.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ def _report(ctx, cmd, method, response) -> None:


@cli.command()
@click.argument( # type: ignore
'method', autocompletion=autocompletion.api_methods
@click.argument(
'method', autocompletion=autocompletion.api_methods # type: ignore
)
@pass_context
def get(ctx: Configuration, method):
Expand All @@ -53,8 +53,8 @@ def get(ctx: Configuration, method):


@cli.command()
@click.argument( # type: ignore
'method', autocompletion=autocompletion.api_methods
@click.argument(
'method', autocompletion=autocompletion.api_methods # type: ignore
)
@click.option('--json')
@pass_context
Expand All @@ -71,8 +71,8 @@ def post(ctx: Configuration, method, json):


@cli.command("ws")
@click.argument( # type: ignore
'wstype', autocompletion=autocompletion.wsapi_methods
@click.argument(
'wstype', autocompletion=autocompletion.wsapi_methods # type: ignore
)
@click.option('--json')
@pass_context
Expand Down
6 changes: 4 additions & 2 deletions homeassistant_cli/plugins/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,10 @@ def list_cmd(ctx: Configuration, servicefilter):


@cli.command('call')
@click.argument( # type: ignore
'service', required=True, autocompletion=autocompletion.services
@click.argument(
'service',
required=True,
autocompletion=autocompletion.services, # type: ignore
)
@click.option(
'--arguments', help="Comma separated key/value pairs to use as arguments."
Expand Down
46 changes: 32 additions & 14 deletions homeassistant_cli/plugins/state.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ def cli(ctx):


@cli.command()
@click.argument( # type: ignore
'entity', required=True, autocompletion=autocompletion.entities
@click.argument(
'entity',
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@pass_context
def get(ctx: Configuration, entity):
Expand All @@ -45,8 +47,10 @@ def get(ctx: Configuration, entity):


@cli.command()
@click.argument( # type: ignore
'entity', required=True, autocompletion=autocompletion.entities
@click.argument(
'entity',
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@pass_context
def delete(ctx: Configuration, entity):
Expand Down Expand Up @@ -87,8 +91,10 @@ def listcmd(ctx, entityfilter):


@cli.command()
@click.argument( # type: ignore
'entity', required=True, autocompletion=autocompletion.entities
@click.argument(
'entity',
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@click.argument('newstate', required=False)
@click.option(
Expand Down Expand Up @@ -194,8 +200,11 @@ def _homeassistant_cmd(ctx: Configuration, entities, cmd, action):


@cli.command()
@click.argument( # type: ignore
'entities', nargs=-1, required=True, autocompletion=autocompletion.entities
@click.argument(
'entities',
nargs=-1,
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@pass_context
def toggle(ctx: Configuration, entities):
Expand All @@ -205,8 +214,11 @@ def toggle(ctx: Configuration, entities):


@cli.command('turn_off')
@click.argument( # type: ignore
'entities', nargs=-1, required=True, autocompletion=autocompletion.entities
@click.argument(
'entities',
nargs=-1,
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@pass_context
def off_cmd(ctx: Configuration, entities):
Expand All @@ -216,8 +228,11 @@ def off_cmd(ctx: Configuration, entities):


@cli.command('turn_on')
@click.argument( # type: ignore
'entities', nargs=-1, required=True, autocompletion=autocompletion.entities
@click.argument(
'entities',
nargs=-1,
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@pass_context
def on_cmd(ctx: Configuration, entities):
Expand All @@ -227,8 +242,11 @@ def on_cmd(ctx: Configuration, entities):


@cli.command()
@click.argument( # type: ignore
'entities', nargs=-1, required=True, autocompletion=autocompletion.entities
@click.argument(
'entities',
nargs=-1,
required=True,
autocompletion=autocompletion.entities, # type: ignore
)
@click.option(
'--since',
Expand Down
3 changes: 2 additions & 1 deletion mypyrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
homeassistant_cli
tests
homeassistant_cli/plugins
tests
19 changes: 11 additions & 8 deletions tests/test_completion.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
"""Tests file for Home Assistant CLI (hass-cli)."""
from typing import cast

import requests_mock

import homeassistant_cli.autocompletion as autocompletion
import homeassistant_cli.cli as cli
from homeassistant_cli.config import Configuration


def test_entity_completion(basic_entities_text) -> None:
Expand All @@ -15,8 +18,8 @@ def test_entity_completion(basic_entities_text) -> None:
)

cfg = cli.cli.make_context('hass-cli', ['entity', 'get'])
result = autocompletion.entities( # type: ignore
cfg, ["entity", "get"], ""
result = autocompletion.entities(
cast(cfg, Configuration), ["entity", "get"], "" # type: ignore
)
assert len(result) == 3

Expand All @@ -37,8 +40,8 @@ def test_service_completion(default_services_text) -> None:

cfg = cli.cli.make_context('hass-cli', ['service', 'list'])

result = autocompletion.services( # type: ignore
cfg, ["service", "list"], ""
result = autocompletion.services(
cfg, ["service", "list"], "" # type: ignore
)
assert len(result) == 12

Expand All @@ -60,8 +63,8 @@ def test_event_completion(default_events_text) -> None:

cfg = cli.cli.make_context('hass-cli', ['events', 'list'])

result = autocompletion.events( # type: ignore
cfg, ["events", "list"], ""
result = autocompletion.events(
cfg, ["events", "list"], "" # type: ignore
)
assert len(result) == 11

Expand All @@ -82,8 +85,8 @@ def test_area_completion(default_events_text) -> None:

cfg = cli.cli.make_context('hass-cli', ['events', 'list'])

result = autocompletion.events( # type: ignore
cfg, ["events", "list"], ""
result = autocompletion.events(
cfg, ["events", "list"], "" # type: ignore
)
assert len(result) == 11

Expand Down
4 changes: 2 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ setenv =
whitelist_externals = /usr/bin/env
install_command = /usr/bin/env LANG=C.UTF-8 pip install {opts} {packages}
commands =
pytest --timeout=9 --duration=10 {posargs}
pytest --timeout=9 --durations=10 {posargs}
{toxinidir}/script/check_dirty
deps =
-r{toxinidir}/requirements_test_all.txt
Expand All @@ -31,7 +31,7 @@ setenv =
whitelist_externals = /usr/bin/env
install_command = /usr/bin/env LANG=C.UTF-8 pip install {opts} {packages}
commands =
pytest --timeout=9 --duration=10 --cov --cov-report= {posargs}
pytest --timeout=9 --durations=10 --cov --cov-report= {posargs}
{toxinidir}/script/check_dirty
deps =
-r{toxinidir}/requirements_test_all.txt
Expand Down