J. Nick Koston
f91de1c8b9
Add support for capturing renewals to dhcp discovery ( #48242 )
2021-03-30 15:41:12 +02:00
Franck Nijhof
45f77ccccf
Merge of nested IF-IF cases - Core ( #48364 )
2021-03-27 09:23:32 +01:00
J. Nick Koston
b50dcef94f
Block detectable I/O in the event loop ( #48387 )
...
We added a warning when this happens last April and gave developers
a year to fix the instability. We now prevent the instability by
raising RuntimeError when code attempts to do known I/O in the
event loop instead of the executor.
We now provide a suggestion on how to fix the code that is causing
the issue.
2021-03-27 08:54:49 +01:00
Marc Mueller
1dc25a5864
Bump python-typing-update to 0.3.2 ( #48303 )
...
* Bump python-version-update to 0.3.2
* Changes after update
* Fix pylint issues
2021-03-25 21:09:06 +01:00
J. Nick Koston
c340a39275
Handle range conversions that do not start at 1 ( #48298 )
2021-03-24 12:33:44 -10:00
Franck Nijhof
6932cf9534
Use contextlib.suppress where possible ( #48189 )
2021-03-23 14:36:43 +01:00
Franck Nijhof
fb849b81b5
Rewrite of not a == b occurances ( #48132 )
2021-03-20 01:27:04 +01:00
J. Nick Koston
c820dd4cb5
Have pylint warn when user visible log messages do not start with capital letter or end with a period ( #48064 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 09:26:36 -05:00
Franck Nijhof
8a56dbf587
Add flake8 comprehensions checks to pre-commit & CI ( #48111 )
2021-03-19 13:41:09 +01:00
Marc Mueller
fabd73f08b
Update typing 03 ( #48015 )
2021-03-17 21:46:07 +01:00
Paulus Schoutsen
7fe3c472e9
Improve bad JSON data reporting ( #47932 )
...
* Improve bad data reporting
* Fix tests
Co-authored-by: Erik <erik@montnemery.com>
2021-03-15 10:41:25 +01:00
J. Nick Koston
9a686d148e
Ensure startup can proceed when there is package metadata cruft ( #47706 )
...
If a package fails to install or partially installed importlib
version can return None. We now try pkg_resources first, then
try importlib, and handle the case where version unexpectedly
returns None
2021-03-10 21:12:02 -10:00
Shay Levy
215ab5fd40
Add type hints to LightEntity ( #47024 )
2021-03-08 21:21:45 +01:00
Franck Nijhof
208a104e96
Fix secrets in files included via include_dir_list ( #47350 )
2021-03-04 09:33:35 -08:00
Paulus Schoutsen
2df644c6cc
Clean up secret loading ( #47034 )
2021-03-02 12:58:53 -08:00
Ville Skyttä
dc880118a4
Lint suppression cleanups ( #47248 )
...
* Unused pylint suppression cleanups
* Remove outdated pylint bug references
* Add flake8-noqa config and note to run it every now and then
* Add codes to noqa's
* Unused noqa cleanups
2021-03-02 09:02:04 +01:00
J. Nick Koston
86f8cd8037
Provide a human readable exception for the percentage util ( #47121 )
2021-02-26 16:33:13 -08:00
Paulus Schoutsen
633a7aeb22
Remove deprecated credstash + keyring ( #47033 )
2021-02-25 09:48:19 +01:00
Franck Nijhof
6ad7020f99
Add Home Assistant color ( #46751 )
2021-02-19 13:30:27 +01:00
J. Nick Koston
f2b303d509
Implement percentage step sizes for fans ( #46512 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-18 21:05:09 -10:00
Tom Parker-Shemilt
27d16af36b
Don't allow recursive secrets loading ( #41812 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-14 14:23:31 +01:00
Franck Nijhof
9b7c39d20b
Postponed evaluation of annotations in core ( #46434 )
...
* Postponed evaluation of annotations in core
* Remove unneeded future
2021-02-12 10:58:20 +01:00
Erik Montnemery
fb68bf85ae
Don't defer formatting of log messages ( #44873 )
...
* Make fast logging optional
* Remove fast logging support
2021-02-06 13:40:15 +01:00
J. Nick Koston
9f59515bb8
Fix shutdown deadlock with run_callback_threadsafe ( #45807 )
2021-02-01 10:54:39 +01:00
Ville Skyttä
d13b58a4e6
Upgrade mypy to 0.800 ( #45485 )
...
* Upgrade mypy to 0.800
https://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html
* Fix issues flagged by mypy 0.800
* Add overloads + small changes
* Apply grammar
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-30 22:33:53 +01:00
J. Nick Koston
068d1b5eb8
Separate fan speeds into percentages and presets modes ( #45407 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: John Carr <john.carr@unrouted.co.uk>
2021-01-27 17:44:36 -06:00
Thomas Hollstegge
78b057ce02
Make sure generated slugs are not empty ( #43153 )
2021-01-27 12:25:49 +01:00
Joakim Sørensen
b1c2cde40b
Changes to filename and path validation ( #45529 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-26 15:53:21 +01:00
Paulus Schoutsen
0930aae208
Avoid misuse sanitize_path, clarify docs ( #45469 )
2021-01-23 18:28:57 +01:00
Ville Skyttä
94dbcc9d2b
Generics and other type hint improvements ( #45250 )
2021-01-18 22:23:25 +01:00
Pascal Vizeli
a7a4875f52
Add more debug details to running timeouts ( #43644 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-04 13:10:39 +01:00
Ville Skyttä
43474762b2
Drop remaining Python < 3.8 support ( #44743 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-04 11:47:29 +01:00
Franck Nijhof
2f486543df
Drop Python 3.7 support ( #43805 )
2021-01-01 13:47:01 +01:00
Paulus Schoutsen
58648019c6
Deprecate the use of keyring and credstash ( #43854 )
2020-12-02 16:55:33 +01:00
Paulus Schoutsen
1c9c99571e
Use !input instead of !placeholder ( #43820 )
...
* Use !input instead of !placeholder
* Update input name
* Lint
* Move tests around
2020-12-01 18:21:36 +01:00
Paulus Schoutsen
edf70e9f06
Make input_datetime better handle timezones ( #43396 )
...
* Make input_datetime better handle timezones
* Improve test coverage
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Revert change to time format
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-11-26 20:20:10 +01:00
springstan
37bcfd1d2f
Simplify distance conversion ( #43107 )
2020-11-11 20:10:17 +01:00
J. Nick Koston
94bf55e29b
Limit concurrency of async_get_integration to avoid creating extra threads ( #43085 )
...
* Limit concurrency of async_get_integration to avoid creating extra threads
Since async_get_integration is waiting on the disk most of the time
it would end up creating many new threads because the disk could
not deliver the data in time.
* pylint
2020-11-10 21:34:54 -10:00
springstan
67b3552165
Add more units to distance conversion util ( #40181 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-09 11:38:15 +01:00
Paulus Schoutsen
0fb587727c
Add initial blueprint support ( #42469 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-11-02 15:00:13 +01:00
Philip Allgaier
dde6305549
Cleanup unused loggers (components N-Z + tests) ( #41982 )
2020-10-16 21:24:08 -05:00
Ville Skyttä
f28c3273c2
Upgrade mypy to 0.790 ( #41595 )
2020-10-12 19:17:30 -05:00
J. Nick Koston
a9de9c62f1
Use native utc timezone for utcnow() ( #41727 )
...
This allows timezone operations to happen in C code instead
of the pure-python code of pytz
2020-10-12 17:43:21 -05:00
Dmitry
b106149588
Fix string parameter processing in parse_time_expression ( #41468 ) ( #41469 )
2020-10-09 11:48:49 +02:00
J. Nick Koston
8d5c124deb
Improve performance of generating non-cryptographically secure uuids ( #41314 )
2020-10-07 16:37:01 +02:00
springstan
a2c3c33b22
Use core GitHub URL in all files ( #41089 )
2020-10-03 00:04:11 +02:00
J. Nick Koston
e08ee282ab
Abort execution of template renders that overwhelm the system ( #40647 )
2020-09-28 14:43:22 +02:00
Bjørn Snoen
f207d46390
Allow using environment cacert file ( #38816 )
2020-09-04 13:54:20 +02:00
Ville Skyttä
1bf2c4d976
Upgrade pylint to 2.6.0 ( #39363 )
2020-08-29 07:59:24 +02:00
Ville Skyttä
b4bac0f7a0
Exception chaining and wrapping improvements ( #39320 )
...
* Remove unnecessary exception re-wraps
* Preserve exception chains on re-raise
We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.
The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.
Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.
* Fix mistaken re-wrap in homematicip_cloud/hap.py
Missed the difference between HmipConnectionError and
HmipcConnectionError.
* Do not hide original error on plex new cert validation error
Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
2020-08-28 13:50:32 +02:00
Franck Nijhof
1c2ebdf307
Upgrade black to 20.8b1 ( #39287 )
2020-08-27 13:56:20 +02:00
J. Nick Koston
bee6d87e7a
Standardize uuid generation for events/storage/registry ( #39184 )
2020-08-24 17:21:30 +02:00
Bram Kragten
28332f23b3
Don't sort keys when dumping json and yaml ( #39214 )
2020-08-24 16:58:27 +02:00
J. Nick Koston
42227c1c53
Improve the performance of dt_util.utcnow() ( #39145 )
2020-08-23 09:57:58 +02:00
Pascal Vizeli
c291d4aa7d
Intelligent timeout handler for setup/bootstrap ( #38329 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-05 14:58:19 +02:00
J. Nick Koston
a91f5b7192
Prevent ping integration from blocking startup ( #38504 )
2020-08-05 12:43:35 +02:00
Ville Skyttä
ac0dbb17af
Attrs cleanups ( #37849 )
2020-07-14 10:30:30 -07:00
Jelle Raaijmakers
ef254a1c3d
Round time values in get_age() to better approximate the actual age ( #37125 )
2020-07-09 11:19:38 -07:00
Franck Nijhof
53545c984b
Log lines do not end with a full stop ( #37527 )
2020-07-05 23:04:19 +02:00
Jeffery To
a74e35795c
Use the built-in importlib.metadata library in Python 3.8+ ( #36225 )
...
importlib_metadata is a backport of this library for Python 3.7 and
older.
2020-06-17 15:21:14 +02:00
Paulus Schoutsen
3ee3ae7633
Fix cloudhooks coming in for non existing webhooks ( #36836 )
...
* Fix cloudhooks coming in for non existing webhooks
* Fix tests"
2020-06-15 16:30:40 -07:00
J. Nick Koston
36b157b85a
Ensure verbose logging flag is respected. ( #36444 )
2020-06-04 09:51:06 -07:00
J. Nick Koston
1297a09344
Avoid locking in the logging queue handler ( #35700 )
...
* Avoid locking in the logging queue handler
We do not need a lock here as the underlying queue is already
thread safe.
* Add coverage for logging handle
2020-05-17 14:39:27 +02:00
J. Nick Koston
73616520c0
Use built in queue log handlers to avoid formatting logs in the event loop ( #35633 )
...
* Use built in queue log handlers to avoid formatting logs in the event loop
Logging is now formatted and written in another thread to
ensure there is minimal impact on the event loop when
a log message is processed.
This change replaces the existing AsyncHandler log handler
as python 3.7+ now offers an off the shelf solution
* add a simple test
* s/async_migrate_log_handlers_to_queue/async_activate_log_queue_handler/g
2020-05-16 09:29:58 -05:00
Ville Skyttä
b4404b071f
Pylint cleanups ( #35409 )
...
* Avoid some outer name redefinitions
* Remove unneeded directives
* Narrow directive scope
* Don't disable redefined-variable-type
2020-05-09 14:08:40 +03:00
Franck Nijhof
2223592486
Add get_url helper, deprecate base_url ( #35224 )
2020-05-08 02:29:47 +02:00
Erik Montnemery
f1ecac92df
Fail tests if wrapped callbacks or coroutines throw ( #35010 )
2020-05-06 14:14:57 -07:00
Paulus Schoutsen
0246761f94
Log threading exceptions properly ( #34789 )
2020-04-28 14:31:35 -07:00
Martin Hjelmare
3aa2de5fa5
Disable pylint invalid name for TypeVar T ( #34355 )
2020-04-17 12:51:31 -07:00
Ville Skyttä
267d98b5eb
Type hint improvements ( #33082 )
2020-04-17 11:33:58 -07:00
Paulus Schoutsen
d011b46985
Patch http.client to not do I/O in the event loop ( #34194 )
2020-04-15 15:32:10 -07:00
Paulus Schoutsen
d93c09327a
Report unserializable data in websocket ( #34072 )
...
* Report unserializable data in websocket
* Fix tests
* log types too
2020-04-13 23:46:41 -07:00
springstan
8d61893c39
Use HTTP_OK constant ( #33798 )
...
* Use http ok constant
* Remove incorrect use
* Run isort
* Fix pylint by adding missing imports
* Fix pylint by fixing one import
2020-04-08 11:47:38 -05:00
springstan
eae21be5b9
Improve string formatting v6 ( #33698 )
2020-04-07 23:14:28 +02:00
springstan
fca90a8ddc
Improve string formatting v5 ( #33697 )
...
* Improve string formatting v5
* Address review comments
2020-04-05 17:48:55 +02:00
Franck Nijhof
7653dc947a
Enable pylint unnecessary-pass ( #33650 )
...
* Enable pylint unnecessary-pass
* Process review suggestions
* Fix smhi tests
2020-04-05 10:33:07 +02:00
Franck Nijhof
6f1900c6f4
Replace OSError aliases with OSError ( #33655 )
2020-04-04 22:09:11 +02:00
Franck Nijhof
71a47fc80c
Enable pylint global-statement ( #33641 )
2020-04-04 20:10:55 +02:00
Franck Nijhof
e8a0abd107
String formatting improvements ( #33635 )
...
* String formatting improvements
* Found another one
2020-04-04 18:21:14 +02:00
J. Nick Koston
4a32a0f1da
Expand network util to check for link local addresses ( #33499 )
2020-04-01 11:24:30 -07:00
Ville Skyttä
221d5205e4
Upgrade mypy to 0.770, tighten config a bit ( #32715 )
...
* Upgrade mypy to 0.770, related cleanups
https://mypy-lang.blogspot.com/2020/03/mypy-0770-released.html
* Clean up config and make it a notch stricter, address findings
2020-03-12 11:52:20 +01:00
Paulus Schoutsen
7d8da47309
Revert "Use orjson to parse json faster ( #32153 )" ( #32185 )
...
This reverts commit 2365e2e8cf
.
2020-02-25 21:07:16 +01:00
Paulus Schoutsen
536b31305a
Support multiple Lovelace dashboards ( #32134 )
...
* Support multiple Lovelace dashboards
* Mark collection maintenance as unfinished
* Fix import
* Add websockets commands for resource management
* Revert "Add websockets commands for resource management"
This reverts commit 7d140b2bcc
.
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-25 11:18:21 -08:00
Ruslan Sayfutdinov
2365e2e8cf
Use orjson to parse json faster ( #32153 )
...
* [recorder] Use orjson to parse json faster
* Remove from http manifest
* Bump to orjson 2.5.1
* Empty commit to trigger CI
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-25 10:20:51 -08:00
Ville Skyttä
9b2544c923
Remove some unneeded pylint suppressions ( #32152 )
2020-02-24 16:47:15 -08:00
Ruslan Sayfutdinov
15b4975681
Use ciso8601 library to parse datetime faster ( #32128 )
2020-02-24 08:33:10 -08:00
Paulus Schoutsen
9f830964ef
Optimize find bad JSON data ( #31963 )
2020-02-18 16:06:13 -08:00
Paulus Schoutsen
beee1298c5
Extend safe mode ( #31927 )
...
* Extend safe mode
* Add safe mode boolean to config JSON output and default Lovelace
* Add safe mode to frontend
* Update accent color
2020-02-18 11:52:38 -08:00
Paulus Schoutsen
a6b5d73f1c
Report which data causes JSON serialization error ( #31901 )
2020-02-17 10:49:42 -08:00
Christian Clauss
df7d2b3aeb
Fix typos found by codespell ( #31243 )
...
* Fix typos found by codespell
* Fix typos found by codespell
* codespell: Furture ==> Future
* Update test_config_flow.py
* Update __init__.py
* Spellcheck: successfull ==> successful
* Codespell: unsuccesful ==> unsuccessful
* Codespell: cant ==> can't
* Codespell: firware ==> firmware
* Codespell: mimick ==> mimic
2020-01-31 08:33:00 -08:00
Paulus Schoutsen
e1205409f3
Handle location API being exhausted ( #30798 )
2020-01-16 17:31:12 +01:00
Ville Skyttä
fa4fa30461
Various string cleanups ( #30435 )
...
* Remove some unnecessary string concatenations
* Replace some simple str.formats with f-strings
* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations ( #30360 )
2020-01-02 21:17:10 +02:00
Paulus Schoutsen
32aae7017e
Remove requirement from entity integration ( #30113 )
2019-12-22 10:32:42 +01:00
Ville Skyttä
445fd15f76
Drop Python 3.6 support ( #29978 )
2019-12-16 07:29:19 +01:00
Bas Nijholt
67c56c860d
Sort imports according to PEP8 for 'homeassistant' folder ( #29789 )
...
Components are already done
2019-12-09 16:42:10 +01:00
Ville Skyttä
99c7608fb4
Lint config cleanups ( #28864 )
...
* Remove bunch of unneeded lint exclusions
* Use symbolic names instead of identifiers in pylint disables
* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
awkwardDuck
6d77c15f28
fix typo for mediumvioletred ( #28941 )
2019-11-22 15:33:53 +01:00
Franck Nijhof
21157f9dac
Downgrade duplicate YAML key log to warning ( #28851 )
2019-11-19 13:09:23 -06:00
Ville Skyttä
d88ca0f5cb
Lint exclusions ( #28655 )
...
* Remove malformed pylint disable markers
* Remove some unused imports
* Remove some unneeded lint exclusions
* Remove more unneeded lint exclusions
* Add specific codes to all noqa's
2019-11-16 10:22:07 +01:00
Franck Nijhof
04ab20846a
Bump black to 19.10b0 ( #28310 )
2019-10-28 23:32:34 -07:00
Ville Skyttä
381d423fec
Upgrade mypy to 0.740 ( #27913 )
...
* Upgrade mypy to 0.740
http://mypy-lang.blogspot.com/2019/10/mypy-0740-released.html
* Type hint additions
* Type fixes
* Remove no longer needed type ignores and casts
* Disable untyped definition checks in bunch of files
2019-10-19 11:35:57 -07:00
Ville Skyttä
3a608314c4
Mypy setup fixes ( #27825 )
...
* Install our core dependencies for mypy in azure
To match local setups and tox.
* Use "system" mypy in pre-commit instead of the "real" mypy hook
The results of mypy depend on what is installed. And the mypy hook
runs in a virtualenv of its own, meaning we'd need to install and
maintain another set of our dependencies there... no. Use the "system"
one and reuse the environment that is set up anyway already instead.
* Reintroduce needed ruamel.yaml type ignore
This ignore is required when ruamel.yaml is installed, and we want it
to be as it's part of the core dependency set.
2019-10-17 17:12:58 -07:00
Pascal Vizeli
8a0f26e155
Add cache for mypy ( #27745 )
...
* Add cache for mypy
* Update ruamel_yaml.py
2019-10-16 17:37:24 +02:00
Ville Skyttä
761d7f21e9
Upgrade pylint ( #27279 )
...
* Upgrade pylint to 2.4.2 and astroid to 2.3.1
https://pylint.readthedocs.io/en/latest/whatsnew/2.4.html
https://pylint.readthedocs.io/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-1
https://pylint.readthedocs.io/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-2
* unnecessary-comprehension fixes
* invalid-name fixes
* self-assigning-variable fixes
* Re-enable not-an-iterable
* used-before-assignment fix
* invalid-overridden-method fixes
* undefined-variable __class__ workarounds
https://github.com/PyCQA/pylint/issues/3090
* no-member false positive disabling
* Remove some no longer needed disables
* using-constant-test fix
* Disable import-outside-toplevel for now
* Disable some apparent no-value-for-parameter false positives
* invalid-overridden-method false positive disables
https://github.com/PyCQA/pylint/issues/3150
* Fix unintentional Entity.force_update override in AfterShipSensor
2019-10-07 08:17:39 -07:00
Franck Nijhof
2e17ad86af
Adds guards for missing information in call stack frames ( #27217 )
2019-10-05 11:59:33 +02:00
Pascal Vizeli
c1851a2d94
Cleanup coroutine threadsafe ( #27080 )
...
* Cleanup coroutine threadsafe
* fix lint
* Fix typing
* Fix tests
* Fix black
2019-10-01 16:59:06 +02:00
Ville Skyttä
ac634d71f4
Remove no longer needed Python < 3.6 compatibility code ( #27024 )
2019-09-27 17:02:48 -07:00
Ville Skyttä
fde128d66c
Upgrade mypy to 0.730, address raised issues ( #26959 )
...
https://mypy-lang.blogspot.com/2019/09/mypy-730-released.html
2019-09-27 22:57:59 +03:00
Franck Nijhof
9c9c921922
Use Python3 new super syntax sugar ( #26890 )
2019-09-24 15:38:20 -07:00
Franck Nijhof
2f0eb07624
Migrate legacy typehints in core to PEP-526 ( #26403 )
...
* Migrate legacy typehints in core to PEP-526
* Fix one type
2019-09-03 20:36:04 -07:00
Franck Nijhof
decf13b948
Use literal string interpolation in core (f-strings) ( #26166 )
2019-08-23 09:53:33 -07:00
Thomas Lovén
60dfa38717
Add error handling to !include command in yaml ( #25801 )
...
* Catch errors if !include file is not found
* Address review comments
* Add line number to error message
2019-08-09 13:21:08 -07:00
Ville Skyttä
49a5dda7a8
Upgrade pydocstyle to 4.0.0, do not run in tox ( #25667 )
...
* Upgrade pydocstyle to 4.0.0 and flake8-docstrings to 1.3.1
http://www.pydocstyle.org/en/4.0.0/release_notes.html#july-6th-2019
* Address pydocstyle D413's
* tox: do not run pydocstyle
Does not seem to add any value over flake8-docstrings (and would have
needed a D202 exclusion).
2019-08-04 17:05:43 +02:00
Ville Skyttä
a2f9a5287d
Azure mypy related tweaks ( #25663 )
...
* Revert "Add some debugging to azure mypy job (#25632 )"
This reverts commit 767b8e9f25
.
No longer needed.
* Install setup.py dependencies for mypy in Azure
For better coverage, and to match what tox does.
2019-08-02 16:59:47 +02:00
Paulus Schoutsen
620cb74050
Type
2019-07-31 13:08:31 -07:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Paulus Schoutsen
da05dfe708
Add Black
2019-07-31 12:23:23 -07:00
Ville Skyttä
b230562c76
Mypy config cleanups ( #25475 )
...
* Move file specific config to inline comments
* Disallow untyped defs by default everywhere
2019-07-25 08:08:20 +02:00
Ville Skyttä
d64f1e767c
Type check all helpers ( #25373 )
...
* Type check all helpers, add inline exclusions for work in progress
* Remove unused Script._template_cache
* Add some missing type hints
* Remove unneeded type: ignore
* Type hint fixes
* Mypy assistance tweaks
* Don't look for None in deprecated config "at most once" check
* Avoid None name slugify attempt when generating entity id
* Avoid None state store attempt on entity remove
2019-07-21 09:59:02 -07:00
Ville Skyttä
56e4a2aea6
Fix util.ruamel_yaml type errors ( #25338 )
2019-07-20 14:35:22 -07:00
Ville Skyttä
56841da2d3
Upgrade mypy to 0.720, turn on unreachability warnings ( #25157 )
...
* Upgrade mypy to 0.720
* Turn on mypy unreachability warnings, address raised issues
2019-07-16 15:11:38 -07:00
Ville Skyttä
e8a5306c23
Upgrade mypy to 0.711, drop no longer needed workarounds ( #24998 )
...
https://mypy-lang.blogspot.com/2019/06/mypy-0711-released.html
2019-07-07 03:58:33 +02:00
Anders Melchiorsen
a439e087e1
Fix time expression parsing ( #24696 )
2019-06-22 13:39:33 +02:00
Ville Skyttä
a6eef22fbc
Upgrade mypy to 0.710 ( #24666 )
...
* Upgrade mypy to 0.710
* Address mypy 0.710 errors
2019-06-22 10:19:36 +03:00
Pascal Vizeli
c9453bab19
Prefere binary with wheels ( #24669 )
2019-06-21 08:47:56 -07:00
Paulus Schoutsen
276ab191b5
Do not use the cache dir for PIP installs ( #24233 )
2019-06-01 10:04:12 +02:00
Pascal Vizeli
d9852bc75d
Support Hass.io wheels / docker env ( #24175 )
...
* Support Hass.io wheels / docker env
* address comments
* fix lint
2019-05-29 15:30:09 -07:00
Paulus Schoutsen
179fb0f3b5
Use importlib metadata to check installed packages ( #24114 )
...
* Use importlib metadata
* Fix script
* Remove unused import
* Update requirements"
2019-05-26 11:58:42 -07:00
Paulus Schoutsen
f995ab9d54
Don't pass in loop ( #23984 )
...
* Don't pass in loop
* Revert some changes
* Lint + Axis revert
* reinstate loop
* Fix a test
* Set loop
* Update camera.py
* Lint
2019-05-22 21:09:59 -07:00
Paulus Schoutsen
9e96397e6a
Require core config detection to be triggerd manually ( #24019 )
...
* Detect core config
* Remove elevation
* Lint
* Lint
* Fix type
2019-05-22 17:24:46 -07:00
Ties de Kock
4004867eda
Split up yaml loaders into multiple files ( #23774 )
...
* Start moving parts of yaml utils to own module
Move parts of yaml loader out of the single large file and start
to create the structure of the yaml loaders in Ansible [0].
[0]: https://github.com/ansible/ansible/tree/devel/lib/ansible/parsing/yaml
* Finish yaml migration, update tests and mocks
* Move code around to finish the migration
* Update the mocks so that `open` is patched in
`homeassistant.util.yaml.loader` instead of
`homeassistant.util.yaml`.
* Updated mypy ignores
* Updated external API of `homeasistant.util.yaml`, see below:
Checked what part of the api of `homeassistant.util.yaml` was actually
called from outside the tests and added an `__ALL__` that contains only
these elements.
Updated the tests so that references to internal parts of the API (e.g.
the yaml module imported into `homeassistant.util.yaml.loader`) are
referenced directly from `homeassistant.util.yaml.loader`.
In `tests/test_yaml.py` the import `yaml` refers to
`homeassistant.util.yaml` and `yaml_loader` refers to `~.loader`.
Future work that remains for the next iteration is to create a custom
SafeConstructor and refers to that instead of monkey patching `yaml` with
custom loaders.
* Update mocks in yaml dumper, check_config
2019-05-09 09:07:56 -07:00
Paulus Schoutsen
cc13713abd
No longer rely on requests ( #23685 )
...
* No longer rely on requests
* Lint
* Missed a few parts
* Fix types
* Fix more types
* Update __main__.py
* Fix tests
* Lint
* Fix script
2019-05-08 11:15:04 -07:00
Ville Skyttä
f434e24252
Upgrade mypy ( #23586 )
...
* Upgrade mypy to 0.701
* Enable strict equality checks
* Strict equality error fixes
* StateMachine.is_state docstring fix
2019-05-02 21:18:20 +03:00
Erik Montnemery
84f778d23c
Improve logging of exceptions in async_create_task ( #22689 )
...
* Improve logging of exceptions in async_create_task
* Move wrapping+logging to util.logging
* Minor refactor, fix typing
* Add test
* Remove useless @wraps, fix confusing parameter name
* Review comment
2019-04-29 09:53:22 -07:00
choss
c314220167
Ignore secrets.yaml when using include_dir_named ( #22929 )
...
* ignore secrets.yaml in include_dir_named include
* updating test for include_dir_named secrets ignore
2019-04-13 21:24:06 -07:00
MatthewFlamm
ed93c3b2c1
Fix pressure in dark sky and openweathermap and add pressure utility ( #21210 )
2019-03-24 18:37:31 +01:00
Robbie Trencheny
773c567563
Switch from using Google Maps API for elevation to Open Elevation API ( #22306 )
...
## Description:
Switches elevation helper to use [Open Elevation](https://open-elevation.com/ ) instead of Google Maps API which now requires a API key. It's a drop in replacement for Google Maps too!
**Related issue (if applicable):** fixes #19860
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
2019-03-22 16:01:43 -07:00
Quentin Stafford-Fraser
88be786e82
Make !include_dir_list use alphanumeric order ( #21902 )
...
* Make YAML includes such as !include_dir_list incorporate files in alphabetical order
* Test for !include_dir_list sorting
2019-03-20 23:10:08 -07:00
Paulus Schoutsen
a9672b0d52
Load as many components in parallel as possible ( #20806 )
...
* Load as many components in parallel as possible
* Lint
2019-02-07 22:56:40 +01:00
Pascal Vizeli
29b64d56be
Fix cloud webhook body ( #20739 )
...
* Bugfix cloud webhooks text response
* address comments
* Fix lint
2019-02-04 10:58:38 -08:00
starkillerOG
f353d51ab1
Add check to validate gamut ( #20518 )
...
* color.util - Add check to validate gamut
* fix indents
* fix typo
* Add check to validate gamut
* Add tests for gamut checker
* fix test
* fix pylint issues
* fix hue light gamut tests
* add check to validate gamut
* move None check
* Move None check
* Include prompt to update bridge/bulb on error
* fix wrong commit
* fix error message
* Update light.py
2019-01-28 17:52:00 -08:00
Andrew Sayre
5c208da82e
Added recursive detection of functools.partial. ( #20284 )
2019-01-20 22:27:32 -08:00
emontnemery
368682647d
Log exceptions thrown by MQTT message callbacks ( #19977 )
...
* Log exceptions thrown by MQTT message callbacks
* Fix tests
* Correct method for skipping wrapper in traceback
* Lint
* Simplify traceback print
* Add test
* Move wrapper to common helper function
* Typing
* Lint
2019-01-16 13:50:21 -08:00
Fabian Affolter
25f6302813
Switch to ipapi.co ( fixes #19846 ) ( #19886 )
...
* Switch to ipapi.co (fixes #19846 )
* Fix name
* Update name
2019-01-15 16:18:57 -08:00
starkillerOG
11602c1da0
Improve Philips Hue color conversion 2 ( #20118 )
...
* Add gamut capability to color util
* Include gamut in hue_test
* Improve Philips Hue color conversion
* correct import for new location hue.light
* include file changes between PR's
* update aiohue version
* update aiohue version
* update aiohue version
* fix hue_test
Now Idea why it failed compared to the previous time
* Include gamut in hue_test
* fix hue_test
* Try to test hue gamut conversion
supply a color that is well outside the color gamut of the light, and see if the response is correctly converted to within the reach of the light.
* switch from gamut A to gamut B for the tests.
* remove white space in blanck line
* Fix gamut hue test
* Add Gamut tests for the util.color
* fix hue gamut test
* fix hue gamut test
* Improve Philips Hue color conversion
2019-01-15 11:30:50 -08:00
Pascal Vizeli
2bf36bb1db
Use unicode slugify ( #19192 )
...
* Update __init__.py
* Update setup.py
* Update requirements_all.txt
* Update __init__.py
* Update __init__.py
* Update __init__.py
* Update __init__.py
* Update __init__.py
* remove `-`
* fix packages
* Update package_constraints.txt
* Update __init__.py
* Update package_constraints.txt
* Update requirements_all.txt
* Update setup.py
* Fix tests
* Fix line issue
* fix all test
* fix type
* Fix lint
2018-12-17 07:51:13 +01:00
Ville Skyttä
7d3a962f73
Upgrade mypy to 0.650 ( #19150 )
...
* Upgrade to 0.650
* Remove no longer needed type: ignore
2018-12-09 21:22:08 +02:00
Adam Mills
5c3a4e3d10
Restore states through a JSON store instead of recorder ( #17270 )
...
* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
2018-11-28 13:16:43 +01:00
Paulus Schoutsen
7848381f43
Allow managing cloud webhook ( #18672 )
...
* Add cloud webhook support
* Simplify payload
* Add cloud http api tests
* Fix tests
* Lint
* Handle cloud webhooks
* Fix things
* Fix name
* Rename it to cloudhook
* Final rename
* Final final rename?
* Fix docstring
* More tests
* Lint
* Add types
* Fix things
2018-11-26 14:10:18 +01:00