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
This commit is contained in:
Franck Nijhof 2020-04-05 12:49:57 +02:00 committed by GitHub
parent 5bf7e0fcc0
commit f38011560f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 18 additions and 9 deletions

View file

@ -1,4 +1,9 @@
repos:
- repo: https://github.com/asottile/pyupgrade
rev: v2.1.0
hooks:
- id: pyupgrade
args: [--py37-plus]
- repo: https://github.com/psf/black
rev: 19.10b0
hooks:

View file

@ -68,6 +68,10 @@ stages:
. venv/bin/activate
pre-commit run yamllint --all-files
displayName: 'Run yamllint'
- script: |
. venv/bin/activate
pre-commit run pyupgrade --all-files
displayName: 'Run pyupgrade'
- job: 'Validate'
pool:
vmImage: 'ubuntu-latest'

View file

@ -1,5 +1,4 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Home-Assistant documentation build configuration file, created by
# sphinx-quickstart on Sun Aug 28 13:13:10 2016.
@ -26,7 +25,7 @@ from homeassistant.const import __short_version__, __version__
PROJECT_NAME = 'Home Assistant'
PROJECT_PACKAGE_NAME = 'homeassistant'
PROJECT_AUTHOR = 'The Home Assistant Authors'
PROJECT_COPYRIGHT = ' 2013-2020, {}'.format(PROJECT_AUTHOR)
PROJECT_COPYRIGHT = f' 2013-2020, {PROJECT_AUTHOR}'
PROJECT_LONG_DESCRIPTION = ('Home Assistant is an open-source '
'home automation platform running on Python 3. '
'Track and control all devices at home and '
@ -37,7 +36,7 @@ PROJECT_GITHUB_REPOSITORY = 'home-assistant'
GITHUB_PATH = '{}/{}'.format(
PROJECT_GITHUB_USERNAME, PROJECT_GITHUB_REPOSITORY)
GITHUB_URL = 'https://github.com/{}'.format(GITHUB_PATH)
GITHUB_URL = f'https://github.com/{GITHUB_PATH}'
sys.path.insert(0, os.path.abspath('_ext'))
@ -132,7 +131,7 @@ def linkcode_resolve(domain, info):
fn = fn[index:]
return '{}/blob/{}/{}{}'.format(GITHUB_URL, code_branch, fn, linespec)
return f'{GITHUB_URL}/blob/{code_branch}/{fn}{linespec}'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View file

@ -7,4 +7,5 @@ flake8-docstrings==1.5.0
flake8==3.7.9
isort==4.3.21
pydocstyle==5.0.2
pyupgrade==2.1.0
yamllint==1.21.0

View file

@ -62,7 +62,7 @@ def validate(integrations: Dict[str, Integration], config: Config):
codeowners_path = config.root / "CODEOWNERS"
config.cache["codeowners"] = content = generate_and_validate(integrations)
with open(str(codeowners_path), "r") as fp:
with open(str(codeowners_path)) as fp:
if fp.read().strip() != content:
config.add_error(
"codeowners",

View file

@ -68,7 +68,7 @@ def validate(integrations: Dict[str, Integration], config: Config):
config_flow_path = config.root / "homeassistant/generated/config_flows.py"
config.cache["config_flow"] = content = generate_and_validate(integrations)
with open(str(config_flow_path), "r") as fp:
with open(str(config_flow_path)) as fp:
if fp.read().strip() != content:
config.add_error(
"config_flow",

View file

@ -17,7 +17,7 @@ class Error:
def __str__(self) -> str:
"""Represent error as string."""
return "[{}] {}".format(self.plugin.upper(), self.error)
return f"[{self.plugin.upper()}] {self.error}"
@attr.s

View file

@ -65,7 +65,7 @@ def validate(integrations: Dict[str, Integration], config: Config):
ssdp_path = config.root / "homeassistant/generated/ssdp.py"
config.cache["ssdp"] = content = generate_and_validate(integrations)
with open(str(ssdp_path), "r") as fp:
with open(str(ssdp_path)) as fp:
if fp.read().strip() != content:
config.add_error(
"ssdp",

View file

@ -120,7 +120,7 @@ def validate(integrations: Dict[str, Integration], config: Config):
zeroconf_path = config.root / "homeassistant/generated/zeroconf.py"
config.cache["zeroconf"] = content = generate_and_validate(integrations)
with open(str(zeroconf_path), "r") as fp:
with open(str(zeroconf_path)) as fp:
current = fp.read().strip()
if current != content:
config.add_error(