-
-
Notifications
You must be signed in to change notification settings - Fork 238
Fix unsafe __del__ in TPLinkSmartHomeProtocol #300
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fixes
```
Exception ignored in: <function TPLinkSmartHomeProtocol.__del__ at 0x1096d0670>
Traceback (most recent call last):
File "/Users/bdraco/home-assistant/venv/lib/python3.9/site-packages/kasa/protocol.py", line 159, in __del__
self.writer.close()
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/streams.py", line 353, in close
return self._transport.close()
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/selector_events.py", line 700, in close
self._loop.call_soon(self._call_connection_lost, None)
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 748, in call_soon
self._check_thread()
File "/opt/homebrew/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 785, in _check_thread
raise RuntimeError(
RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one
```
Codecov Report
@@ Coverage Diff @@
## master #300 +/- ##
=======================================
Coverage 82.15% 82.15%
=======================================
Files 12 12
Lines 1317 1317
Branches 195 195
=======================================
Hits 1082 1082
Misses 196 196
Partials 39 39
Continue to review full report at Codecov.
|
rytilahti
reviewed
Jan 30, 2022
rytilahti
approved these changes
Jan 30, 2022
rytilahti
added a commit
to rytilahti/python-kasa
that referenced
this pull request
Mar 21, 2022
This is the last release prior restructuring the code to enable easier extendability by moving towards more modular architecture. The most prominent change in this release is the support for effects on light strips. [Full Changelog](python-kasa/python-kasa@0.4.1...0.4.2) **Implemented enhancements:** - Allow environment variables for discovery target, device type and debug [\python-kasa#313](python-kasa#313) (@rytilahti) - Add 'internal\_state' to return the results from the last update query [\python-kasa#306](python-kasa#306) (@rytilahti) - Drop microsecond precision for on\_since [\python-kasa#296](python-kasa#296) (@rytilahti) - Add effect support for light strips [\python-kasa#293](python-kasa#293) (@bdraco) **Fixed bugs:** - TypeError: \_\_init\_\_\(\) got an unexpected keyword argument 'package\_name' [\python-kasa#311](python-kasa#311) - RuntimeError: Event loop is closed on WSL [\python-kasa#294](python-kasa#294) - Don't crash on devices not reporting features [\python-kasa#317](python-kasa#317) (@rytilahti) **Closed issues:** - SmartDeviceException: Communication error on system:set\_relay\_state [\python-kasa#309](python-kasa#309) - Add Support: ES20M and KS200M motion/light switches [\python-kasa#308](python-kasa#308) - New problem with installing on Ubuntu 20.04.3 LTS [\python-kasa#305](python-kasa#305) - KeyError: 'emeter' when discovering [\python-kasa#302](python-kasa#302) - RuntimeError: Event loop is closed [\python-kasa#291](python-kasa#291) - provisioning format [\python-kasa#290](python-kasa#290) - Fix CI publishing on pypi [\python-kasa#222](python-kasa#222) - LED strips effects are not supported \(was LEDs is not turning on after switching on\) [\python-kasa#191](python-kasa#191) **Merged pull requests:** - Add pyupgrade to CI runs [\python-kasa#314](python-kasa#314) (@rytilahti) - Depend on asyncclick \>= 8 [\python-kasa#312](python-kasa#312) (@rytilahti) - Guard emeter accesses to avoid keyerrors [\python-kasa#304](python-kasa#304) (@rytilahti) - cli: cleanup discover, fetch update prior device access [\python-kasa#303](python-kasa#303) (@rytilahti) - Fix unsafe \_\_del\_\_ in TPLinkSmartHomeProtocol [\python-kasa#300](python-kasa#300) (@bdraco) - Improve typing for protocol class [\python-kasa#289](python-kasa#289) (@rytilahti) - Added a fixture file for KS220M [\python-kasa#273](python-kasa#273) (@mrbetta)
Merged
rytilahti
added a commit
that referenced
this pull request
Mar 21, 2022
This is the last release prior restructuring the code to enable easier extendability by moving towards more modular architecture. The most prominent change in this release is the support for effects on light strips. [Full Changelog](0.4.1...0.4.2) **Implemented enhancements:** - Allow environment variables for discovery target, device type and debug [\#313](#313) (@rytilahti) - Add 'internal\_state' to return the results from the last update query [\#306](#306) (@rytilahti) - Drop microsecond precision for on\_since [\#296](#296) (@rytilahti) - Add effect support for light strips [\#293](#293) (@bdraco) **Fixed bugs:** - TypeError: \_\_init\_\_\(\) got an unexpected keyword argument 'package\_name' [\#311](#311) - RuntimeError: Event loop is closed on WSL [\#294](#294) - Don't crash on devices not reporting features [\#317](#317) (@rytilahti) **Closed issues:** - SmartDeviceException: Communication error on system:set\_relay\_state [\#309](#309) - Add Support: ES20M and KS200M motion/light switches [\#308](#308) - New problem with installing on Ubuntu 20.04.3 LTS [\#305](#305) - KeyError: 'emeter' when discovering [\#302](#302) - RuntimeError: Event loop is closed [\#291](#291) - provisioning format [\#290](#290) - Fix CI publishing on pypi [\#222](#222) - LED strips effects are not supported \(was LEDs is not turning on after switching on\) [\#191](#191) **Merged pull requests:** - Add pyupgrade to CI runs [\#314](#314) (@rytilahti) - Depend on asyncclick \>= 8 [\#312](#312) (@rytilahti) - Guard emeter accesses to avoid keyerrors [\#304](#304) (@rytilahti) - cli: cleanup discover, fetch update prior device access [\#303](#303) (@rytilahti) - Fix unsafe \_\_del\_\_ in TPLinkSmartHomeProtocol [\#300](#300) (@bdraco) - Improve typing for protocol class [\#289](#289) (@rytilahti) - Added a fixture file for KS220M [\#273](#273) (@mrbetta)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes