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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix vizio bug to use 'get' to get volume_step since it is optional #32151

Merged
merged 2 commits into from Feb 24, 2020

Conversation

@raman325
Copy link
Contributor

raman325 commented Feb 24, 2020

Proposed change

Tediore in Discord reported the following bug:

2020-02-22 21:44:37 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 109, in async_init
    result = await self._async_handle_step(flow, flow.init_step, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 172, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/vizio/config_flow.py", line 180, in async_step_import
    if entry.data[CONF_VOLUME_STEP] != import_config[CONF_VOLUME_STEP]:
KeyError: 'volume_step'

This is happening because volume_step is optional but the code assumes that it always exists. This change prevents that error from occurring by using get and providing a default volume_step when none is provided

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Black (black --fast homeassistant tests)
  • Tests have been added to verify that the new code works.

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

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

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

The integration reached or maintains the following Integration Quality Scale:

  • No score or internal
  • 馃 Silver
  • 馃 Gold
  • 馃弳 Platinum
@project-bot project-bot bot added this to Needs review in Dev Feb 24, 2020
@project-bot project-bot bot moved this from Needs review to By Code Owner in Dev Feb 24, 2020
鈥ded
@codecov

This comment has been minimized.

Copy link

codecov bot commented Feb 24, 2020

Codecov Report

鉂楋笍 No coverage uploaded for pull request base (dev@6b0d7c7). Click here to learn what that means.
The diff coverage is 100%.

Impacted file tree graph

@@          Coverage Diff           @@
##             dev   #32151   +/-   ##
======================================
  Coverage       ?   94.73%           
======================================
  Files          ?      767           
  Lines          ?    55487           
  Branches       ?        0           
======================================
  Hits           ?    52563           
  Misses         ?     2924           
  Partials       ?        0
Impacted Files Coverage 螖
homeassistant/components/vizio/config_flow.py 100% <100%> (酶)

Continue to review full report at Codecov.

Legend - Click here to learn more
螖 = absolute <relative> (impact), 酶 = not affected, ? = missing data
Powered by Codecov. Last update 6b0d7c7...af48eed. Read the comment docs.

Copy link
Member

springstan left a comment

Looks good 馃憤 should we include this in the beta?

Dev automation moved this from By Code Owner to Reviewer approved Feb 24, 2020
@raman325

This comment has been minimized.

Copy link
Contributor Author

raman325 commented Feb 24, 2020

That would be great

@springstan springstan added this to the 0.106.0 milestone Feb 24, 2020
@springstan springstan merged commit 309989b into home-assistant:dev Feb 24, 2020
10 checks passed
10 checks passed
CI Build #20200224.59 succeeded
Details
CI (FullCheck Mypy) FullCheck Mypy succeeded
Details
CI (FullCheck Pylint) FullCheck Pylint succeeded
Details
CI (Overview CheckFormat) Overview CheckFormat succeeded
Details
CI (Overview Lint) Overview Lint succeeded
Details
CI (Overview Validate) Overview Validate succeeded
Details
CI (Tests PyTest Python37) Tests PyTest Python37 succeeded
Details
cla-bot Everyone involved has signed the CLA
codecov/patch No report found to compare against
Details
codecov/project No report found to compare against
Details
Dev automation moved this from Reviewer approved to Done Feb 24, 2020
@raman325 raman325 deleted the raman325:vizio_bug_fix branch Feb 25, 2020
@raman325 raman325 mentioned this pull request Feb 25, 2020
11 of 20 tasks complete
balloob added a commit that referenced this pull request Feb 25, 2020
鈥32151)

* use get to get volume_step since it is optional

* always set volume_step to default in options and data if its not included
@lock lock bot locked and limited conversation to collaborators Feb 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Dev
  
Done
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can鈥檛 perform that action at this time.