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
Improve http decorator typing #75541
Conversation
Hey there @home-assistant/core, mind taking a look at this pull request as it has been labeled with an integration ( |
Hey there @home-assistant/core, mind taking a look at this pull request as it has been labeled with an integration ( |
Hey there @home-assistant/core, mind taking a look at this pull request as it has been labeled with an integration ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@@ -257,7 +257,7 @@ async def get(self, request): | |||
|
|||
@RequestDataValidator(vol.Schema({"client_id": str}, extra=vol.ALLOW_EXTRA)) | |||
@log_invalid_auth | |||
async def post(self, request, flow_id, data): | |||
async def post(self, request, data, flow_id): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could it have been typed here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Opened #75586 to fully type the auth
integration.
Proposed change
Use ParamSpec, Concatenate, and TypeVars to better type the
log_invalid_auth
andRequestDataValidator
decorators.To be able to use
Concatenate
forRequestDataValidator
,data
needs to be separated fromkwargs
and passed as dedicated argument.Type of change
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.The integration reached or maintains the following Integration Quality Scale:
To help with the load of incoming pull requests: