mirror of
https://github.com/home-assistant/core.git
synced 2025-07-30 18:58:04 +02:00
Black
This commit is contained in:
@ -13,9 +13,9 @@ def _bump_release(release, bump_type):
|
||||
"""Bump a release tuple consisting of 3 numbers."""
|
||||
major, minor, patch = release
|
||||
|
||||
if bump_type == 'patch':
|
||||
if bump_type == "patch":
|
||||
patch += 1
|
||||
elif bump_type == 'minor':
|
||||
elif bump_type == "minor":
|
||||
minor += 1
|
||||
patch = 0
|
||||
|
||||
@ -26,145 +26,133 @@ def bump_version(version, bump_type):
|
||||
"""Return a new version given a current version and action."""
|
||||
to_change = {}
|
||||
|
||||
if bump_type == 'minor':
|
||||
if bump_type == "minor":
|
||||
# Convert 0.67.3 to 0.68.0
|
||||
# Convert 0.67.3.b5 to 0.68.0
|
||||
# Convert 0.67.3.dev0 to 0.68.0
|
||||
# Convert 0.67.0.b5 to 0.67.0
|
||||
# Convert 0.67.0.dev0 to 0.67.0
|
||||
to_change['dev'] = None
|
||||
to_change['pre'] = None
|
||||
to_change["dev"] = None
|
||||
to_change["pre"] = None
|
||||
|
||||
if not version.is_prerelease or version.release[2] != 0:
|
||||
to_change['release'] = _bump_release(version.release, 'minor')
|
||||
to_change["release"] = _bump_release(version.release, "minor")
|
||||
|
||||
elif bump_type == 'patch':
|
||||
elif bump_type == "patch":
|
||||
# Convert 0.67.3 to 0.67.4
|
||||
# Convert 0.67.3.b5 to 0.67.3
|
||||
# Convert 0.67.3.dev0 to 0.67.3
|
||||
to_change['dev'] = None
|
||||
to_change['pre'] = None
|
||||
to_change["dev"] = None
|
||||
to_change["pre"] = None
|
||||
|
||||
if not version.is_prerelease:
|
||||
to_change['release'] = _bump_release(version.release, 'patch')
|
||||
to_change["release"] = _bump_release(version.release, "patch")
|
||||
|
||||
elif bump_type == 'dev':
|
||||
elif bump_type == "dev":
|
||||
# Convert 0.67.3 to 0.67.4.dev0
|
||||
# Convert 0.67.3.b5 to 0.67.4.dev0
|
||||
# Convert 0.67.3.dev0 to 0.67.3.dev1
|
||||
if version.is_devrelease:
|
||||
to_change['dev'] = ('dev', version.dev + 1)
|
||||
to_change["dev"] = ("dev", version.dev + 1)
|
||||
else:
|
||||
to_change['pre'] = ('dev', 0)
|
||||
to_change['release'] = _bump_release(version.release, 'minor')
|
||||
to_change["pre"] = ("dev", 0)
|
||||
to_change["release"] = _bump_release(version.release, "minor")
|
||||
|
||||
elif bump_type == 'beta':
|
||||
elif bump_type == "beta":
|
||||
# Convert 0.67.5 to 0.67.6b0
|
||||
# Convert 0.67.0.dev0 to 0.67.0b0
|
||||
# Convert 0.67.5.b4 to 0.67.5b5
|
||||
|
||||
if version.is_devrelease:
|
||||
to_change['dev'] = None
|
||||
to_change['pre'] = ('b', 0)
|
||||
to_change["dev"] = None
|
||||
to_change["pre"] = ("b", 0)
|
||||
|
||||
elif version.is_prerelease:
|
||||
if version.pre[0] == 'a':
|
||||
to_change['pre'] = ('b', 0)
|
||||
if version.pre[0] == 'b':
|
||||
to_change['pre'] = ('b', version.pre[1] + 1)
|
||||
if version.pre[0] == "a":
|
||||
to_change["pre"] = ("b", 0)
|
||||
if version.pre[0] == "b":
|
||||
to_change["pre"] = ("b", version.pre[1] + 1)
|
||||
else:
|
||||
to_change['pre'] = ('b', 0)
|
||||
to_change['release'] = _bump_release(version.release, 'patch')
|
||||
to_change["pre"] = ("b", 0)
|
||||
to_change["release"] = _bump_release(version.release, "patch")
|
||||
|
||||
else:
|
||||
to_change['release'] = _bump_release(version.release, 'patch')
|
||||
to_change['pre'] = ('b', 0)
|
||||
to_change["release"] = _bump_release(version.release, "patch")
|
||||
to_change["pre"] = ("b", 0)
|
||||
|
||||
else:
|
||||
assert False, 'Unsupported type: {}'.format(bump_type)
|
||||
assert False, "Unsupported type: {}".format(bump_type)
|
||||
|
||||
temp = Version('0')
|
||||
temp = Version("0")
|
||||
temp._version = version._version._replace(**to_change)
|
||||
return Version(str(temp))
|
||||
|
||||
|
||||
def write_version(version):
|
||||
"""Update Home Assistant constant file with new version."""
|
||||
with open('homeassistant/const.py') as fil:
|
||||
with open("homeassistant/const.py") as fil:
|
||||
content = fil.read()
|
||||
|
||||
major, minor, patch = str(version).split('.', 2)
|
||||
major, minor, patch = str(version).split(".", 2)
|
||||
|
||||
content = re.sub('MAJOR_VERSION = .*\n',
|
||||
'MAJOR_VERSION = {}\n'.format(major),
|
||||
content)
|
||||
content = re.sub('MINOR_VERSION = .*\n',
|
||||
'MINOR_VERSION = {}\n'.format(minor),
|
||||
content)
|
||||
content = re.sub('PATCH_VERSION = .*\n',
|
||||
"PATCH_VERSION = '{}'\n".format(patch),
|
||||
content)
|
||||
content = re.sub(
|
||||
"MAJOR_VERSION = .*\n", "MAJOR_VERSION = {}\n".format(major), content
|
||||
)
|
||||
content = re.sub(
|
||||
"MINOR_VERSION = .*\n", "MINOR_VERSION = {}\n".format(minor), content
|
||||
)
|
||||
content = re.sub(
|
||||
"PATCH_VERSION = .*\n", "PATCH_VERSION = '{}'\n".format(patch), content
|
||||
)
|
||||
|
||||
with open('homeassistant/const.py', 'wt') as fil:
|
||||
with open("homeassistant/const.py", "wt") as fil:
|
||||
content = fil.write(content)
|
||||
|
||||
|
||||
def main():
|
||||
"""Execute script."""
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Bump version of Home Assistant")
|
||||
parser = argparse.ArgumentParser(description="Bump version of Home Assistant")
|
||||
parser.add_argument(
|
||||
'type',
|
||||
"type",
|
||||
help="The type of the bump the version to.",
|
||||
choices=['beta', 'dev', 'patch', 'minor'],
|
||||
choices=["beta", "dev", "patch", "minor"],
|
||||
)
|
||||
parser.add_argument(
|
||||
'--commit', action='store_true',
|
||||
help='Create a version bump commit.')
|
||||
"--commit", action="store_true", help="Create a version bump commit."
|
||||
)
|
||||
arguments = parser.parse_args()
|
||||
current = Version(const.__version__)
|
||||
bumped = bump_version(current, arguments.type)
|
||||
assert bumped > current, 'BUG! New version is not newer than old version'
|
||||
assert bumped > current, "BUG! New version is not newer than old version"
|
||||
write_version(bumped)
|
||||
|
||||
if not arguments.commit:
|
||||
return
|
||||
|
||||
subprocess.run([
|
||||
'git', 'commit', '-am', 'Bumped version to {}'.format(bumped)])
|
||||
subprocess.run(["git", "commit", "-am", "Bumped version to {}".format(bumped)])
|
||||
|
||||
|
||||
def test_bump_version():
|
||||
"""Make sure it all works."""
|
||||
assert bump_version(Version('0.56.0'), 'beta') == Version('0.56.1b0')
|
||||
assert bump_version(Version('0.56.0b3'), 'beta') == Version('0.56.0b4')
|
||||
assert bump_version(Version('0.56.0.dev0'), 'beta') == Version('0.56.0b0')
|
||||
assert bump_version(Version("0.56.0"), "beta") == Version("0.56.1b0")
|
||||
assert bump_version(Version("0.56.0b3"), "beta") == Version("0.56.0b4")
|
||||
assert bump_version(Version("0.56.0.dev0"), "beta") == Version("0.56.0b0")
|
||||
|
||||
assert bump_version(Version('0.56.3'), 'dev') == Version('0.57.0.dev0')
|
||||
assert bump_version(Version('0.56.0b3'), 'dev') == Version('0.57.0.dev0')
|
||||
assert bump_version(Version('0.56.0.dev0'), 'dev') == \
|
||||
Version('0.56.0.dev1')
|
||||
assert bump_version(Version("0.56.3"), "dev") == Version("0.57.0.dev0")
|
||||
assert bump_version(Version("0.56.0b3"), "dev") == Version("0.57.0.dev0")
|
||||
assert bump_version(Version("0.56.0.dev0"), "dev") == Version("0.56.0.dev1")
|
||||
|
||||
assert bump_version(Version('0.56.3'), 'patch') == \
|
||||
Version('0.56.4')
|
||||
assert bump_version(Version('0.56.3.b3'), 'patch') == \
|
||||
Version('0.56.3')
|
||||
assert bump_version(Version('0.56.0.dev0'), 'patch') == \
|
||||
Version('0.56.0')
|
||||
assert bump_version(Version("0.56.3"), "patch") == Version("0.56.4")
|
||||
assert bump_version(Version("0.56.3.b3"), "patch") == Version("0.56.3")
|
||||
assert bump_version(Version("0.56.0.dev0"), "patch") == Version("0.56.0")
|
||||
|
||||
assert bump_version(Version('0.56.0'), 'minor') == \
|
||||
Version('0.57.0')
|
||||
assert bump_version(Version('0.56.3'), 'minor') == \
|
||||
Version('0.57.0')
|
||||
assert bump_version(Version('0.56.0.b3'), 'minor') == \
|
||||
Version('0.56.0')
|
||||
assert bump_version(Version('0.56.3.b3'), 'minor') == \
|
||||
Version('0.57.0')
|
||||
assert bump_version(Version('0.56.0.dev0'), 'minor') == \
|
||||
Version('0.56.0')
|
||||
assert bump_version(Version('0.56.2.dev0'), 'minor') == \
|
||||
Version('0.57.0')
|
||||
assert bump_version(Version("0.56.0"), "minor") == Version("0.57.0")
|
||||
assert bump_version(Version("0.56.3"), "minor") == Version("0.57.0")
|
||||
assert bump_version(Version("0.56.0.b3"), "minor") == Version("0.56.0")
|
||||
assert bump_version(Version("0.56.3.b3"), "minor") == Version("0.57.0")
|
||||
assert bump_version(Version("0.56.0.dev0"), "minor") == Version("0.56.0")
|
||||
assert bump_version(Version("0.56.2.dev0"), "minor") == Version("0.57.0")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
Reference in New Issue
Block a user