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

Add view commands to Lovelace #18063

Merged
merged 5 commits into from Nov 1, 2018

Conversation

Projects
None yet
6 participants
@bramkragten
Member

bramkragten commented Oct 31, 2018

Description:

Adds commands to edit views in Lovelace (get, update, add, move, delete)

Related issue (if applicable): fixes #

Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>

Example entry for configuration.yaml (if applicable):

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • New dependencies have been added to the REQUIREMENTS variable (example).
  • New dependencies are only imported inside functions that use them (example).
  • New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
  • New files were added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.

@bramkragten bramkragten requested a review from home-assistant/core as a code owner Oct 31, 2018

@wafflebot wafflebot bot added the in progress label Oct 31, 2018

bramkragten added some commits Oct 31, 2018

@bramkragten bramkragten changed the title from [WIP] Add view commands to Lovelace to Add view commands to Lovelace Oct 31, 2018

@balloob

balloob approved these changes Nov 1, 2018

@balloob balloob merged commit 4163889 into home-assistant:dev Nov 1, 2018

5 checks passed

Hound No violations found. Woof!
WIP Legacy commit status override — see details
Details
cla-bot Everyone involved has signed the CLA
continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls Coverage decreased (-0.0004%) to 93.092%
Details

@wafflebot wafflebot bot removed the in progress label Nov 1, 2018

if str(view.get('id', '')) != view_id:
continue
views.pop(views.index(view))
yaml.save_yaml(fname, config)

This comment has been minimized.

@OttoWinter

OttoWinter Nov 1, 2018

Contributor

Style-wise, I think a for-loop here is not that nice as the code inside is only executed once. Maybe something like this?

view = next((view for view in views if str(view.get('id', '')) == view_id), None)
if view is None:
  raise ViewNotFoundError(...)
views.pop(views.index(view))
# ...

This comment has been minimized.

@OttoWinter

OttoWinter Nov 1, 2018

Contributor

Whoops, already merged while writing this 😅 Nevermind

This comment has been minimized.

@bramkragten

bramkragten Nov 1, 2018

Member

Had next() first, but balloob stated a for loop would improve readability.

This comment has been minimized.

@balloob

balloob Nov 1, 2018

Member

I think that preferably, we find the object in the for loop, then break. If nothing found, raise error, then mutate and save.

This comment has been minimized.

@balloob

balloob Nov 1, 2018

Member

Which btw, would be the for-loop equivalent of using next().

@bramkragten bramkragten deleted the bramkragten:Lovelace-ws-view branch Nov 1, 2018

@fabaff fabaff added the Hacktoberfest label Nov 1, 2018

@balloob balloob referenced this pull request Nov 9, 2018

Merged

0.82 #18335

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment