Commit Graph
441 Commits
Author SHA1 Message Date
6cd256f26b Fix recursive limit in find_next_time_expression_time (#58914)
* Fix recursive limit in find_next_time_expression_time

* Add test case

* Update test_event.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-11-02 11:28:35 -07:00
b4021de2b0 Fix find_next_time_expression_time (#58894)
* Better tests

* Fix find_next_time_expression_time

* Add tests for Nov 7th 2021, Chicago transtion

* Update event tests

* Update test_event.py

* small performance improvement

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-11-01 10:56:35 -07:00
Ville SkyttäandGitHub b0e1bab58b Use http.HTTPStatus in util.aiohttp (#58456) 2021-10-26 13:13:27 +02:00
Boris KandGitHub 8b02703585 Fix color util links to Philips Hue documentation (#57099) 2021-10-05 11:19:09 +02:00
Glenn WatersandGitHub e4f15c42e0 Add kPa as a pressure unit (#56885) 2021-10-01 08:08:04 -07:00
Marc MuellerandGitHub 77ee72cbb9 Import Callable from collections.abc (1) (#56775) 2021-09-29 16:32:11 +02:00
Marc MuellerandGitHub 7af67d34cf Use assignment expressions 01 (#56394) 2021-09-18 13:31:35 -10:00
Marc MuellerandGitHub b3181a0ab2 Use NamedTuple for RGBColor (#55698) 2021-09-04 09:25:25 +02:00
Paulus SchoutsenandGitHub 19c54b8cbf Drop unused ruamel (#55672) 2021-09-03 22:17:10 -07:00
Ville SkyttäandGitHub 848c0be58a Avoid some implicit generic Anys (#54577) 2021-08-16 23:12:06 +02:00
Daniel Hjelseth HøyerandGitHub 49a69d5ba0 Add missing PRESSURE_BAR conversion (#54497)
* Add missing PRESSURE_BAR

* style

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* valid units

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-08-12 07:30:35 +02:00
e23750b2a4 Add device class gas and enable statistics for it (#54110)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-08-11 09:58:19 -07:00
Marc MuellerandGitHub 553521a76b Add mixin classes for required keys in EntityDescription (#53610) 2021-07-28 11:50:13 +02:00
Joakim SørensenandGitHub 85c1614204 Add currency to location data (#53575) 2021-07-27 21:05:16 -07:00
J. Nick KostonandGitHub 6d493a848c Ensure PyPI packages can still be installed on high latency connections (#53365) 2021-07-24 14:07:10 +02:00
Marc MuellerandGitHub a56485a8c5 Revert new unit types (#53226) 2021-07-20 14:13:51 +02:00
Marc MuellerandGitHub f6b162bc39 Add pylint CodeStyle extension (#53147) 2021-07-19 06:57:06 -07:00
Marc MuellerandGitHub 71a8ae3016 Add new unit types for better type checking (#53124)
* Add new unit types
* Update helper functions
* Update components
* Update lcn climate
2021-07-18 14:43:47 +02:00
fbad453c89 Pylint 2.9.3 (#52972)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-07-14 21:44:57 -07:00
Ville SkyttäandGitHub 9864f2ef8b String formatting cleanups (#52937) 2021-07-13 00:12:55 +02:00
J. Nick KostonandGitHub 1ba5c1c9fb Fix deadlock at shutdown with python 3.9 (#52613) 2021-07-07 09:23:24 +02:00
Erik MontnemeryandGitHub b645560633 Minor improvements of util.percentage typing (#52581) 2021-07-06 13:29:39 +02:00
Erik MontnemeryandGitHub 0476c7f9ee Normalize temperature statistics to °C (#52297)
* Normalize temperature statistics to °C

* Fix tests

* Support temperature conversion to and from K, improve tests

* Fix test

* Add tests, pylint
2021-06-30 14:17:58 +02:00
Erik MontnemeryandGitHub cca5964ac0 Normalize pressure statistics to Pa (#52298) 2021-06-29 23:30:13 +02:00
Franck NijhofandGitHub 13bf5dbee4 Upgrade mypy to 0.902 (#51907) 2021-06-16 14:35:32 +02:00
Martin HjelmareandGitHub 187374c11e Set Registry name parameter to Hashable type (#51203) 2021-05-28 15:29:11 +02:00
Joakim SørensenandGitHub 7ff14b47a8 Use whoami for location lookup (#50934) 2021-05-22 20:34:48 -07:00
Erik MontnemeryandGitHub 15e2c6d7dc Fix typing for dt_util as_timestamp (#50886)
* Fix typing for dt_util::as_timestamp

* Apply suggestions from code review
2021-05-22 09:34:49 +02:00
J. Nick KostonandGitHub eddc1ab778 Handle threads exiting unexpected during shutdown (#50907)
If a thread exits right when we are trying to force an exception
to shut it down, setting the exception will fail with SystemError.
At this point in the shutdown process we want to move on as this
will cause the shutdown to abort
2021-05-21 01:06:37 +02:00
Ruslan SayfutdinovandGitHub 391b2f8ccd Add missing return type in Core constructors (#50884) 2021-05-20 18:53:29 +03:00
Ruslan SayfutdinovandGitHub de5472403b Use mypy-friendly conditional import for zoneinfo (#50444) 2021-05-13 22:36:49 -07:00
Paul GanssleandGitHub efa5c59559 Replace hand-rolled binary search with bisect_left (#50410)
The `bisect` module exposes a `bisect_left` function which does
basically what the bulk of `_lower_bound` does. From my tests, it is
slightly faster (~5%) in the probably common ideal case where `arr` is short.
In the worst case scenario, `bisect.bisect_left` is *much* faster.

```
>>> arr = list(range(60))
>>> cmp = 59
>>> %timeit _lower_bound(arr, cmp)
736 ns ± 6.24 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
>>> %timeit bisect_lower_bound(arr, cmp)
290 ns ± 7.77 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
```

I doubt this is a huge bottleneck or anything, but I think it's a bit
more readable, and it's more efficient, so it seems like it's mostly a
win.

This commit *will* add a new unconditional import for `bisect` when
importing `util.dt`, and `bisect` is not currently imported for any of
the standard library modules. It is possible to make this conditional by
placing `import bisect` in the _lower_bound function, or in the function
it's nested in.
2021-05-11 08:18:20 -07:00
f8584c3ded Use zoneinfo instead of dateutil (#50387)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-05-10 08:32:29 -07:00
bf2d40adfe Migrate from pytz to python-dateutil (#49643)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-07 22:46:26 -07:00
Erik MontnemeryandGitHub e96cbccc92 Improve color conversion for RGBWW lights (#49807) 2021-04-28 15:46:41 +02:00
Ruslan SayfutdinovandGitHub 37466ae423 Don't ignore mypy errors by default (#49270) 2021-04-26 14:23:21 +02:00
Marc MuellerandGitHub f1d48ddfe3 Update pylint to 2.8.0 (#49637) 2021-04-24 14:39:24 -10:00
Marc MuellerandGitHub c07646db5d Update typing syntax (#49480)
* Update typing syntax

* Replace typing imports with ones from collections where possible

* Changes after review
2021-04-20 17:40:41 +02:00
J. Nick KostonandGitHub 04a0ca14e0 Ensure shutdown does not deadlock (#49282) 2021-04-18 08:55:51 -10:00
J. Nick KostonandGitHub b2c33c1373 Only fetch the local ip once per run (#49336)
Wrap get_local_ip in lru_cache
2021-04-18 10:04:45 +02:00
Ville SkyttäandGitHub 3a0b0380c7 Remove some unneeded pylint disables, update ref to util.process one (#49314) 2021-04-17 09:25:20 +02:00
Angeliki PapadopoulouandGitHub a529a12745 Remove redundant text from documentation (#49262)
I found an extra "when" in the documentation text.
2021-04-15 18:05:07 +02:00
J. Nick KostonandGitHub d71f913a12 Ensure original log handlers are restored at close (#49230)
Error messages after close were not being logged
2021-04-15 10:53:48 +02:00
Marc MuellerandGitHub 8e2b5b36b5 Bump pyupgrade to 2.12.0 (#48943) 2021-04-09 09:58:27 -07:00
Erik MontnemeryandGitHub d1df6e6fba Don't get code_context when calling inspect.stack (#48849)
* Don't get code_context when calling inspect.stack

* Update homeassistant/helpers/config_validation.py
2021-04-09 07:26:09 +02:00
051531d9c1 Clean up mobile app (#48607)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-01 16:22:08 -07:00
J. Nick KostonandGitHub f91de1c8b9 Add support for capturing renewals to dhcp discovery (#48242) 2021-03-30 15:41:12 +02:00
Franck NijhofandGitHub 45f77ccccf Merge of nested IF-IF cases - Core (#48364) 2021-03-27 09:23:32 +01:00
J. Nick KostonandGitHub 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 MuellerandGitHub 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