Ausgabe der neuen DB Einträge
This commit is contained in:
parent
bad48e1627
commit
cfbbb9ee3d
2399 changed files with 843193 additions and 43 deletions
209
venv/lib/python3.9/site-packages/incremental/update.py
Normal file
209
venv/lib/python3.9/site-packages/incremental/update.py
Normal file
|
|
@ -0,0 +1,209 @@
|
|||
# Copyright (c) Twisted Matrix Laboratories.
|
||||
# See LICENSE for details.
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
import click
|
||||
import os
|
||||
import datetime
|
||||
|
||||
from incremental import Version
|
||||
from twisted.python.filepath import FilePath
|
||||
|
||||
_VERSIONPY_TEMPLATE = '''"""
|
||||
Provides %s version information.
|
||||
"""
|
||||
|
||||
# This file is auto-generated! Do not edit!
|
||||
# Use `python -m incremental.update %s` to change this file.
|
||||
|
||||
from incremental import Version
|
||||
|
||||
__version__ = %s
|
||||
__all__ = ["__version__"]
|
||||
'''
|
||||
|
||||
_YEAR_START = 2000
|
||||
|
||||
|
||||
def _findPath(path, package):
|
||||
|
||||
cwd = FilePath(path)
|
||||
|
||||
src_dir = cwd.child("src").child(package.lower())
|
||||
current_dir = cwd.child(package.lower())
|
||||
|
||||
if src_dir.isdir():
|
||||
return src_dir
|
||||
elif current_dir.isdir():
|
||||
return current_dir
|
||||
else:
|
||||
raise ValueError(("Can't find under `./src` or `./`. Check the "
|
||||
"package name is right (note that we expect your "
|
||||
"package name to be lower cased), or pass it using "
|
||||
"'--path'."))
|
||||
|
||||
|
||||
def _existing_version(path):
|
||||
version_info = {}
|
||||
|
||||
with path.child("_version.py").open('r') as f:
|
||||
exec(f.read(), version_info)
|
||||
|
||||
return version_info["__version__"]
|
||||
|
||||
|
||||
def _run(package, path, newversion, patch, rc, dev, create,
|
||||
_date=None, _getcwd=None, _print=print):
|
||||
|
||||
if not _getcwd:
|
||||
_getcwd = os.getcwd
|
||||
|
||||
if not _date:
|
||||
_date = datetime.date.today()
|
||||
|
||||
if type(package) != str:
|
||||
package = package.encode('utf8')
|
||||
|
||||
if not path:
|
||||
path = _findPath(_getcwd(), package)
|
||||
else:
|
||||
path = FilePath(path)
|
||||
|
||||
if newversion and patch or newversion and dev or newversion and rc:
|
||||
raise ValueError("Only give --newversion")
|
||||
|
||||
if dev and patch or dev and rc:
|
||||
raise ValueError("Only give --dev")
|
||||
|
||||
if create and dev or create and patch or create and rc or \
|
||||
create and newversion:
|
||||
raise ValueError("Only give --create")
|
||||
|
||||
if newversion:
|
||||
from pkg_resources import parse_version
|
||||
existing = _existing_version(path)
|
||||
st_version = parse_version(newversion)._version
|
||||
|
||||
release = list(st_version.release)
|
||||
|
||||
if len(release) == 1:
|
||||
release.append(0)
|
||||
if len(release) == 2:
|
||||
release.append(0)
|
||||
|
||||
v = Version(
|
||||
package, *release,
|
||||
release_candidate=st_version.pre[1] if st_version.pre else None,
|
||||
dev=st_version.dev[1] if st_version.dev else None)
|
||||
|
||||
elif create:
|
||||
v = Version(package, _date.year - _YEAR_START, _date.month, 0)
|
||||
existing = v
|
||||
|
||||
elif rc and not patch:
|
||||
existing = _existing_version(path)
|
||||
|
||||
if existing.release_candidate:
|
||||
v = Version(package, existing.major, existing.minor,
|
||||
existing.micro, existing.release_candidate + 1)
|
||||
else:
|
||||
v = Version(package, _date.year - _YEAR_START, _date.month, 0, 1)
|
||||
|
||||
elif patch:
|
||||
if rc:
|
||||
rc = 1
|
||||
else:
|
||||
rc = None
|
||||
|
||||
existing = _existing_version(path)
|
||||
v = Version(package, existing.major, existing.minor,
|
||||
existing.micro + 1, rc)
|
||||
|
||||
elif dev:
|
||||
existing = _existing_version(path)
|
||||
|
||||
if existing.dev is None:
|
||||
_dev = 0
|
||||
else:
|
||||
_dev = existing.dev + 1
|
||||
|
||||
v = Version(package, existing.major, existing.minor,
|
||||
existing.micro, existing.release_candidate, dev=_dev)
|
||||
|
||||
else:
|
||||
existing = _existing_version(path)
|
||||
|
||||
if existing.release_candidate:
|
||||
v = Version(package,
|
||||
existing.major, existing.minor, existing.micro)
|
||||
else:
|
||||
raise ValueError(
|
||||
"You need to issue a rc before updating the major/minor")
|
||||
|
||||
NEXT_repr = repr(Version(package, "NEXT", 0, 0)).split("#")[0]
|
||||
NEXT_repr_bytes = NEXT_repr.encode('utf8')
|
||||
|
||||
version_repr = repr(v).split("#")[0]
|
||||
version_repr_bytes = version_repr.encode('utf8')
|
||||
|
||||
existing_version_repr = repr(existing).split("#")[0]
|
||||
existing_version_repr_bytes = existing_version_repr.encode('utf8')
|
||||
|
||||
_print("Updating codebase to %s" % (v.public()))
|
||||
|
||||
for x in path.walk():
|
||||
|
||||
if not x.isfile():
|
||||
continue
|
||||
|
||||
original_content = x.getContent()
|
||||
content = original_content
|
||||
|
||||
# Replace previous release_candidate calls to the new one
|
||||
if existing.release_candidate:
|
||||
content = content.replace(existing_version_repr_bytes,
|
||||
version_repr_bytes)
|
||||
content = content.replace(
|
||||
(package.encode('utf8') + b" " +
|
||||
existing.public().encode('utf8')),
|
||||
(package.encode('utf8') + b" " +
|
||||
v.public().encode('utf8')))
|
||||
|
||||
# Replace NEXT Version calls with the new one
|
||||
content = content.replace(NEXT_repr_bytes,
|
||||
version_repr_bytes)
|
||||
content = content.replace(NEXT_repr_bytes.replace(b"'", b'"'),
|
||||
version_repr_bytes)
|
||||
|
||||
# Replace <package> NEXT with <package> <public>
|
||||
content = content.replace(package.encode('utf8') + b" NEXT",
|
||||
(package.encode('utf8') + b" " +
|
||||
v.public().encode('utf8')))
|
||||
|
||||
if content != original_content:
|
||||
_print("Updating %s" % (x.path,))
|
||||
with x.open('w') as f:
|
||||
f.write(content)
|
||||
|
||||
_print("Updating %s/_version.py" % (path.path))
|
||||
with path.child("_version.py").open('w') as f:
|
||||
f.write(
|
||||
(_VERSIONPY_TEMPLATE % (
|
||||
package, package, version_repr)).encode('utf8'))
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.argument('package')
|
||||
@click.option('--path', default=None)
|
||||
@click.option('--newversion', default=None)
|
||||
@click.option('--patch', is_flag=True)
|
||||
@click.option('--rc', is_flag=True)
|
||||
@click.option('--dev', is_flag=True)
|
||||
@click.option('--create', is_flag=True)
|
||||
def run(*args, **kwargs):
|
||||
return _run(*args, **kwargs)
|
||||
|
||||
|
||||
if __name__ == '__main__': # pragma: no cover
|
||||
run()
|
||||
Loading…
Add table
Add a link
Reference in a new issue