Commit Graph

45 Commits

Author SHA1 Message Date
epenet
96c9636086 Add check for packages restricting Python version (#145690)
* Add check for packages restricting Python version

* Apply suggestions from code review

* until

* until
2025-05-27 10:44:00 +02:00
Steven Hartland
1a4738b1d4 Fix scaffolding integration generation (#138247)
* fix(scaffold): integration generation

Fix script.scaffold integration generation which was failing due to
hassfest quality check.

Add the required `quality_scale` to the generated integration
manifest.json.

Use the new `--skip-plugins` flag to skip the hassfest quality check
when generating integrations, as the quality scale rules are marked as
todo, and only run against the generated integration.

Correct typo in help for hassfest command `--plugins` flag.

Update Integration.core method to use absolute path to ensure it returns
the true if the integration is a core integration, which was causing
other checks to fail, as the integration was not being marked as core.

Always output subprocess output as it contains the error message when a
command fails, without this the user would not know why the command
failed.

Fixes: #128639

* Adjust comment language

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-11 16:24:04 +01:00
Robert Resch
af838077cc Fix docker hassfest (#132823) 2024-12-11 08:55:00 +01:00
Allen Porter
96e67373db Validate quality scale tiers against the tier declared in the integration manifest (#131286)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-22 19:27:40 +01:00
Robert Resch
45bb2cdd82 Build hassfest docker image and pushlish it on beta/stable releases (#124706) 2024-08-28 16:38:12 +02:00
Marc Mueller
19ab3d6daf Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
Raman Gupta
2ad0fd1ce1 Adjust hassfest.manifest based on config.action (#100577) 2023-09-19 17:30:38 +02:00
Erik Montnemery
0cfb937d07 Enforce sorting of manifests (#87020) 2023-02-08 21:48:58 +01:00
Franck Nijhof
139dd22ce6 Replace attrs with dataclasses in hassfest (#84475) 2022-12-23 15:46:00 +01:00
Aarni Koskela
97b40b5f49 Make hassfest strictly typed (#82091) 2022-11-23 19:05:31 +01:00
epenet
89c7568515 Remove duplicate code in hassfest model (#82203) 2022-11-17 09:10:37 +01:00
epenet
7d5794cfb1 Remove unused function from hassfest model (#82073)
* Remove unused function from hassfest model

* Update model.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-14 16:18:11 +01:00
epenet
55444b15a9 Add type hints to hassfest models (#82074)
* Add type hints to hassfest models

* Implement review
2022-11-14 12:41:49 +01:00
Bram Kragten
36bb0bbc1a Fix integrations.json creation, make iot_standards a list (#80945) 2022-10-25 13:43:40 +02:00
Franck Nijhof
bb287dd0ed Integrations v2.1: Virtual integrations (#80613) 2022-10-20 23:09:06 -04:00
Franck Nijhof
c4bbc439a5 Integrations v2.1: Differentiating hubs, devices and services (#80524)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-19 12:41:43 +02:00
Erik Montnemery
b173ae7f44 Add support for integrations v2 (#78801)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 11:31:48 -04:00
Erik Montnemery
27599ea0ee Minor tweaks of hassfest and loader.py (#78929) 2022-09-22 21:54:22 -04:00
Paulus Schoutsen
41ec8cd354 Expose supported brands via API (#75074) 2022-07-12 13:49:54 -07:00
Raman Gupta
ae01ec02e2 Allow custom integrations to support application_credentials platform (#71129) 2022-05-01 16:26:22 -07:00
Paulus Schoutsen
3213091b8d Add integration type (#68349) 2022-03-20 20:38:13 -07:00
Marc Mueller
f6c679699f Add plugin option [hassfest] (#65024) 2022-01-26 20:52:09 -08:00
Paulus Schoutsen
512a474e93 Allow specifying discovery without a config flow (#54677) 2021-08-16 16:28:26 +02:00
Paulus Schoutsen
ce382a39d0 Block title in strings.json unless internal or allowed (#53304) 2021-07-22 08:37:33 +02:00
Paulus Schoutsen
1b74359ddb Disable free-mobile because requirement breaks setuptools (#50749) 2021-05-17 08:12:23 +02:00
Franck Nijhof
52f3a7249f hassfest detect built-in domain override for custom integrations (#49845) 2021-04-29 11:43:23 +02:00
Ruslan Sayfutdinov
37466ae423 Don't ignore mypy errors by default (#49270) 2021-04-26 14:23:21 +02:00
Franck Nijhof
055cdc64c0 Add support for IoT class in manifest (#46935) 2021-04-15 10:21:38 +02:00
Marc Mueller
4cb7718192 Update typing 16 (#48087) 2021-03-18 22:58:19 +01:00
Joakim Sørensen
edfb8c3423 Add version to hassfest for custom integrations (#45523)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-25 13:31:14 +01:00
Martin Hjelmare
8eed7110a1 Add hassfest requirements validation (#39329) 2020-09-06 23:41:41 +02:00
Paulus Schoutsen
2a9da208d4 Allow disabling integrations in manifest, block uuid package being installed and disable ezviz (#38444) 2020-08-26 10:20:14 +02:00
Ville Skyttä
ac0dbb17af Attrs cleanups (#37849) 2020-07-14 10:30:30 -07:00
Paulus Schoutsen
2326a2941e Improve error message when people have not moved config flow title yet (#34321) 2020-04-16 18:00:30 -07:00
Paulus Schoutsen
371bea03d6 Allow hassfest to validate specific integrations (#34277) 2020-04-16 09:00:04 -07:00
Franck Nijhof
f38011560f Add pyupgrade (in pre-commit and CI) (#33688)
* Add pyupgrade (in pre-commit and CI)

* Fix leftover results of pyupgrade

* Ensure we run for Python 3.7 on pyupgrade
2020-04-05 12:49:57 +02:00
Paulus Schoutsen
f1d3c0d19b Remove unused manifest fields (#33595) 2020-04-03 12:58:19 -07: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
Bas Nijholt
5cb6d1b21f Sort imports according to PEP8 for 'script' folder (#29790) 2019-12-09 16:24:03 +01:00
Franck Nijhof
decf13b948 Use literal string interpolation in core (f-strings) (#26166) 2019-08-23 09:53:33 -07:00
Paulus Schoutsen
4de97abc3a Black 2019-07-31 12:25:30 -07:00
Paulus Schoutsen
1e22c8daca Automatically generate config flow list (#23802)
* Add config flow to manifest.json

* Still load config flows via config flow platform

* Fix typo

* Lint

* Update config_flows.py"

* Catch import error when setting up entry

* Lint

* Fix tests

* Fix imports

* Lint

* Fix Unifi tests

* Fix translation test

* Add homekit_controller config flow
2019-05-13 01:16:55 -07:00
Anders Melchiorsen
2245ee98e3 Ignore stale directories (#23464)
* Ignore stale directories

* Remove redundant tests

* Revert "Remove redundant tests"

* Print warning when skipping directories

* Suggest to remove stale directory
2019-04-29 10:53:27 +02:00
Paulus Schoutsen
33b8241d26 Add services.yaml validator (#23205)
* Add services.yaml validator

* Fix path
2019-04-18 13:40:46 -07:00
Paulus Schoutsen
e8343452cd Validate component usage (#23037)
* Update manifest validator

* Update circle

* Update text

* Typo

* fix link to codeowners

* Merge CODEOWNERS into hassfest

* Annotate errors with fixable

* Convert error to warning

* Lint

* Make abs path

* Python 3.5...

* Typo

* Fix tests
2019-04-13 13:17:01 -07:00