Reformat with black

This commit is contained in:
Craig Rodrigues 2020-10-18 20:11:04 -07:00
parent 72caa88a54
commit 24644e3372
9 changed files with 870 additions and 428 deletions

View File

@ -1,10 +1,10 @@
from setuptools import setup
setup(
name='exampleproj',
name="exampleproj",
package_dir={"": "src"},
packages=["exampleproj"],
use_incremental=True,
zip_safe=False,
setup_requires=['incremental'],
setup_requires=["incremental"],
)

View File

@ -16,10 +16,10 @@ sys.path.insert(0, src_dir)
import incremental
setup(
name='incremental',
name="incremental",
version=incremental.__version__.base(),
maintainer='Amber Brown',
maintainer_email='hawkowl@twistedmatrix.com',
maintainer="Amber Brown",
maintainer_email="hawkowl@twistedmatrix.com",
url="https://github.com/twisted/incremental",
classifiers=[
"Intended Audience :: Developers",
@ -33,14 +33,10 @@ setup(
],
packages=find_packages("src", exclude=("exampleproj",)),
package_dir={"": "src"},
extras_require={
"scripts": [
"click>=6.0", "twisted>=16.4.0"
]
},
extras_require={"scripts": ["click>=6.0", "twisted>=16.4.0"]},
license="MIT",
zip_safe=False,
long_description=open('README.rst').read(),
long_description=open("README.rst").read(),
entry_points="""
[distutils.setup_keywords]
use_incremental = incremental:_get_version

View File

@ -2,6 +2,7 @@
# Use `python -m incremental.update exampleproj` to change this file.
from incremental import Version
__version__ = Version('exampleproj', 1, 2, 3)
__version__ = Version("exampleproj", 1, 2, 3)
__all__ = ["__version__"]

View File

@ -24,6 +24,7 @@ else:
try:
_cmp = cmp
except NameError:
def _cmp(a, b):
"""
Compare two objects.
@ -96,6 +97,7 @@ def _comparable(klass):
klass.__ne__ = __ne__
return klass
#
# Versioning
#
@ -106,6 +108,7 @@ class _inf(object):
"""
An object that is bigger than all other objects.
"""
def __cmp__(self, other):
"""
@param other: Another object.
@ -137,8 +140,18 @@ class Version(object):
This class supports the standard major.minor.micro[rcN] scheme of
versioning.
"""
def __init__(self, package, major, minor, micro, release_candidate=None,
prerelease=None, post=None, dev=None):
def __init__(
self,
package,
major,
minor,
micro,
release_candidate=None,
prerelease=None,
post=None,
dev=None,
):
"""
@param package: Name of the package that this is a version of.
@type package: C{str}
@ -161,15 +174,21 @@ class Version(object):
raise ValueError("Please only return one of these.")
elif prerelease and not release_candidate:
release_candidate = prerelease
warnings.warn(("Passing prerelease to incremental.Version was "
"deprecated in Incremental 16.9.0. Please pass "
"release_candidate instead."),
DeprecationWarning, stacklevel=2)
warnings.warn(
(
"Passing prerelease to incremental.Version was "
"deprecated in Incremental 16.9.0. Please pass "
"release_candidate instead."
),
DeprecationWarning,
stacklevel=2,
)
if major == "NEXT":
if minor or micro or release_candidate or post or dev:
raise ValueError(("When using NEXT, all other values except "
"Package must be 0."))
raise ValueError(
("When using NEXT, all other values except " "Package must be 0.")
)
self.package = package
self.major = major
@ -181,10 +200,15 @@ class Version(object):
@property
def prerelease(self):
warnings.warn(("Accessing incremental.Version.prerelease was "
"deprecated in Incremental 16.9.0. Use "
"Version.release_candidate instead."),
DeprecationWarning, stacklevel=2),
warnings.warn(
(
"Accessing incremental.Version.prerelease was "
"deprecated in Incremental 16.9.0. Use "
"Version.release_candidate instead."
),
DeprecationWarning,
stacklevel=2,
),
return self.release_candidate
def public(self):
@ -216,10 +240,7 @@ class Version(object):
else:
dev = ".dev%s" % (self.dev,)
return '%r.%d.%d%s%s%s' % (self.major,
self.minor,
self.micro,
rc, post, dev)
return "%r.%d.%d%s%s%s" % (self.major, self.minor, self.micro, rc, post, dev)
base = public
short = public
@ -230,8 +251,7 @@ class Version(object):
if self.release_candidate is None:
release_candidate = ""
else:
release_candidate = ", release_candidate=%r" % (
self.release_candidate,)
release_candidate = ", release_candidate=%r" % (self.release_candidate,)
if self.post is None:
post = ""
@ -243,7 +263,7 @@ class Version(object):
else:
dev = ", dev=%r" % (self.dev,)
return '%s(%r, %r, %d, %d%s%s%s)' % (
return "%s(%r, %r, %d, %d%s%s%s)" % (
self.__class__.__name__,
self.package,
self.major,
@ -251,12 +271,11 @@ class Version(object):
self.micro,
release_candidate,
post,
dev)
dev,
)
def __str__(self):
return '[%s, version %s]' % (
self.package,
self.short())
return "[%s, version %s]" % (self.package, self.short())
def __cmp__(self, other):
"""
@ -284,8 +303,7 @@ class Version(object):
if not isinstance(other, self.__class__):
return NotImplemented
if self.package.lower() != other.package.lower():
raise IncomparableVersions("%r != %r"
% (self.package, other.package))
raise IncomparableVersions("%r != %r" % (self.package, other.package))
if self.major == "NEXT":
major = _inf
@ -327,18 +345,10 @@ class Version(object):
else:
otherdev = other.dev
x = _cmp((major,
self.minor,
self.micro,
release_candidate,
post,
dev),
(othermajor,
other.minor,
other.micro,
otherrc,
otherpost,
otherdev))
x = _cmp(
(major, self.minor, self.micro, release_candidate, post, dev),
(othermajor, other.minor, other.micro, otherrc, otherpost, otherdev),
)
return x
@ -349,7 +359,7 @@ def getVersionString(version):
@param version: A L{Version} object.
@return: A string containing the package and short version number.
"""
result = '%s %s' % (version.package, version.short())
result = "%s %s" % (version.package, version.short())
return result
@ -378,7 +388,7 @@ def _get_version(dist, keyword, value):
raise Exception("No _version.py found.")
from ._version import __version__ # noqa
from ._version import __version__ # noqa
__all__ = ["__version__", "Version", "getVersionString"]

View File

@ -7,5 +7,5 @@ Provides Incremental version information.
from incremental import Version
__version__ = Version('Incremental', 17, 5, 0)
__version__ = Version("Incremental", 17, 5, 0)
__all__ = ["__version__"]

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,6 @@ from twisted.trial.unittest import TestCase
class VersionsTests(TestCase):
def test_localIsShort(self):
"""
The local version is the same as the short version.
@ -67,24 +66,19 @@ class VersionsTests(TestCase):
NEXT releases must always have the rest of the numbers set to 0.
"""
with self.assertRaises(ValueError):
Version(
"whatever", "NEXT", 1, 0, release_candidate=0, post=0, dev=0)
Version("whatever", "NEXT", 1, 0, release_candidate=0, post=0, dev=0)
with self.assertRaises(ValueError):
Version(
"whatever", "NEXT", 0, 1, release_candidate=0, post=0, dev=0)
Version("whatever", "NEXT", 0, 1, release_candidate=0, post=0, dev=0)
with self.assertRaises(ValueError):
Version(
"whatever", "NEXT", 0, 0, release_candidate=1, post=0, dev=0)
Version("whatever", "NEXT", 0, 0, release_candidate=1, post=0, dev=0)
with self.assertRaises(ValueError):
Version(
"whatever", "NEXT", 0, 0, release_candidate=0, post=1, dev=0)
Version("whatever", "NEXT", 0, 0, release_candidate=0, post=1, dev=0)
with self.assertRaises(ValueError):
Version(
"whatever", "NEXT", 0, 0, release_candidate=0, post=0, dev=1)
Version("whatever", "NEXT", 0, 0, release_candidate=0, post=0, dev=1)
def test_comparingNEXTReleasesEqual(self):
"""
@ -112,9 +106,12 @@ class VersionsTests(TestCase):
warnings = self.flushWarnings([self.test_prereleaseDeprecated])
self.assertEqual(len(warnings), 1)
self.assertEqual(
warnings[0]['message'],
("Passing prerelease to incremental.Version was deprecated in "
"Incremental 16.9.0. Please pass release_candidate instead."))
warnings[0]["message"],
(
"Passing prerelease to incremental.Version was deprecated in "
"Incremental 16.9.0. Please pass release_candidate instead."
),
)
def test_prereleaseAttributeDeprecated(self):
"""
@ -122,13 +119,15 @@ class VersionsTests(TestCase):
"""
va = Version("whatever", 1, 0, 0, release_candidate=1)
va.prerelease
warnings = self.flushWarnings(
[self.test_prereleaseAttributeDeprecated])
warnings = self.flushWarnings([self.test_prereleaseAttributeDeprecated])
self.assertEqual(len(warnings), 1)
self.assertEqual(
warnings[0]['message'],
("Accessing incremental.Version.prerelease was deprecated in "
"Incremental 16.9.0. Use Version.release_candidate instead."))
warnings[0]["message"],
(
"Accessing incremental.Version.prerelease was deprecated in "
"Incremental 16.9.0. Use Version.release_candidate instead."
),
)
def test_comparingReleaseCandidatesWithReleases(self):
"""
@ -187,8 +186,7 @@ class VersionsTests(TestCase):
Release Candidate and prerelease can't both be given.
"""
with self.assertRaises(ValueError):
Version("whatever", 1, 0, 0,
prerelease=1, release_candidate=1)
Version("whatever", 1, 0, 0, prerelease=1, release_candidate=1)
def test_comparingReleaseCandidates(self):
"""
@ -202,8 +200,7 @@ class VersionsTests(TestCase):
self.assertTrue(va <= vb)
self.assertTrue(vb >= va)
self.assertTrue(va != vb)
self.assertTrue(vb == Version("whatever", 1, 0, 0,
release_candidate=2))
self.assertTrue(vb == Version("whatever", 1, 0, 0, release_candidate=2))
self.assertTrue(va == va)
def test_comparingPost(self):
@ -217,8 +214,7 @@ class VersionsTests(TestCase):
self.assertTrue(va <= vb)
self.assertTrue(vb >= va)
self.assertTrue(va != vb)
self.assertTrue(vb == Version("whatever", 1, 0, 0,
post=2))
self.assertTrue(vb == Version("whatever", 1, 0, 0, post=2))
self.assertTrue(va == va)
def test_comparingDev(self):
@ -232,8 +228,7 @@ class VersionsTests(TestCase):
self.assertTrue(va <= vb)
self.assertTrue(vb >= va)
self.assertTrue(va != vb)
self.assertTrue(vb == Version("whatever", 1, 0, 0,
dev=2))
self.assertTrue(vb == Version("whatever", 1, 0, 0, dev=2))
self.assertTrue(va == va)
def test_comparingDevAndRC(self):
@ -248,8 +243,7 @@ class VersionsTests(TestCase):
self.assertTrue(va <= vb)
self.assertTrue(vb >= va)
self.assertTrue(va != vb)
self.assertTrue(vb == Version("whatever", 1, 0, 0,
release_candidate=1, dev=2))
self.assertTrue(vb == Version("whatever", 1, 0, 0, release_candidate=1, dev=2))
self.assertTrue(va == va)
def test_comparingDevAndRCDifferent(self):
@ -264,8 +258,7 @@ class VersionsTests(TestCase):
self.assertTrue(va <= vb)
self.assertTrue(vb >= va)
self.assertTrue(va != vb)
self.assertTrue(vb == Version("whatever", 1, 0, 0,
release_candidate=2, dev=1))
self.assertTrue(vb == Version("whatever", 1, 0, 0, release_candidate=2, dev=1))
self.assertTrue(va == va)
def test_infComparison(self):
@ -280,10 +273,12 @@ class VersionsTests(TestCase):
"""
The package names of the Version objects need to be the same.
"""
self.assertRaises(IncomparableVersions,
operator.eq,
Version("dummy", 1, 0, 0),
Version("dumym", 1, 0, 0))
self.assertRaises(
IncomparableVersions,
operator.eq,
Version("dummy", 1, 0, 0),
Version("dumym", 1, 0, 0),
)
def test_notImplementedComparisons(self):
"""
@ -299,8 +294,7 @@ class VersionsTests(TestCase):
Calling C{repr} on a version returns a human-readable string
representation of the version.
"""
self.assertEqual(repr(Version("dummy", 1, 2, 3)),
"Version('dummy', 1, 2, 3)")
self.assertEqual(repr(Version("dummy", 1, 2, 3)), "Version('dummy', 1, 2, 3)")
def test_reprWithPrerelease(self):
"""
@ -308,16 +302,20 @@ class VersionsTests(TestCase):
string representation of the version including the prerelease as a
release candidate..
"""
self.assertEqual(repr(Version("dummy", 1, 2, 3, prerelease=4)),
"Version('dummy', 1, 2, 3, release_candidate=4)")
self.assertEqual(
repr(Version("dummy", 1, 2, 3, prerelease=4)),
"Version('dummy', 1, 2, 3, release_candidate=4)",
)
def test_reprWithReleaseCandidate(self):
"""
Calling C{repr} on a version with a release candidate returns a
human-readable string representation of the version including the rc.
"""
self.assertEqual(repr(Version("dummy", 1, 2, 3, release_candidate=4)),
"Version('dummy', 1, 2, 3, release_candidate=4)")
self.assertEqual(
repr(Version("dummy", 1, 2, 3, release_candidate=4)),
"Version('dummy', 1, 2, 3, release_candidate=4)",
)
def test_reprWithPost(self):
"""
@ -325,8 +323,9 @@ class VersionsTests(TestCase):
human-readable string representation of the version including the
postrelease.
"""
self.assertEqual(repr(Version("dummy", 1, 2, 3, post=4)),
"Version('dummy', 1, 2, 3, post=4)")
self.assertEqual(
repr(Version("dummy", 1, 2, 3, post=4)), "Version('dummy', 1, 2, 3, post=4)"
)
def test_reprWithDev(self):
"""
@ -334,76 +333,83 @@ class VersionsTests(TestCase):
human-readable string representation of the version including the dev
release.
"""
self.assertEqual(repr(Version("dummy", 1, 2, 3, dev=4)),
"Version('dummy', 1, 2, 3, dev=4)")
self.assertEqual(
repr(Version("dummy", 1, 2, 3, dev=4)), "Version('dummy', 1, 2, 3, dev=4)"
)
def test_str(self):
"""
Calling C{str} on a version returns a human-readable string
representation of the version.
"""
self.assertEqual(str(Version("dummy", 1, 2, 3)),
"[dummy, version 1.2.3]")
self.assertEqual(str(Version("dummy", 1, 2, 3)), "[dummy, version 1.2.3]")
def test_strWithPrerelease(self):
"""
Calling C{str} on a version with a prerelease includes the prerelease
as a release candidate.
"""
self.assertEqual(str(Version("dummy", 1, 0, 0, prerelease=1)),
"[dummy, version 1.0.0.rc1]")
self.assertEqual(
str(Version("dummy", 1, 0, 0, prerelease=1)), "[dummy, version 1.0.0.rc1]"
)
def test_strWithReleaseCandidate(self):
"""
Calling C{str} on a version with a release candidate includes the
release candidate.
"""
self.assertEqual(str(Version("dummy", 1, 0, 0, release_candidate=1)),
"[dummy, version 1.0.0.rc1]")
self.assertEqual(
str(Version("dummy", 1, 0, 0, release_candidate=1)),
"[dummy, version 1.0.0.rc1]",
)
def test_strWithPost(self):
"""
Calling C{str} on a version with a postrelease includes the
postrelease.
"""
self.assertEqual(str(Version("dummy", 1, 0, 0, post=1)),
"[dummy, version 1.0.0.post1]")
self.assertEqual(
str(Version("dummy", 1, 0, 0, post=1)), "[dummy, version 1.0.0.post1]"
)
def test_strWithDevAndReleaseCandidate(self):
"""
Calling C{str} on a version with a release candidate and dev release
includes the release candidate and the dev release.
"""
self.assertEqual(str(Version("dummy", 1, 0, 0,
release_candidate=1, dev=2)),
"[dummy, version 1.0.0.rc1.dev2]")
self.assertEqual(
str(Version("dummy", 1, 0, 0, release_candidate=1, dev=2)),
"[dummy, version 1.0.0.rc1.dev2]",
)
def test_strWithDev(self):
"""
Calling C{str} on a version with a dev release includes the dev
release.
"""
self.assertEqual(str(Version("dummy", 1, 0, 0, dev=1)),
"[dummy, version 1.0.0.dev1]")
self.assertEqual(
str(Version("dummy", 1, 0, 0, dev=1)), "[dummy, version 1.0.0.dev1]"
)
def test_strWithDevAndPost(self):
"""
Calling C{str} on a version with a postrelease and dev release
includes the postrelease and the dev release.
"""
self.assertEqual(str(Version("dummy", 1, 0, 0, post=1, dev=2)),
"[dummy, version 1.0.0.post1.dev2]")
self.assertEqual(
str(Version("dummy", 1, 0, 0, post=1, dev=2)),
"[dummy, version 1.0.0.post1.dev2]",
)
def testShort(self):
self.assertEqual(Version('dummy', 1, 2, 3).short(), '1.2.3')
self.assertEqual(Version("dummy", 1, 2, 3).short(), "1.2.3")
def test_getVersionString(self):
"""
L{getVersionString} returns a string with the package name and the
short version number.
"""
self.assertEqual(
'Twisted 8.0.0', getVersionString(Version('Twisted', 8, 0, 0)))
self.assertEqual("Twisted 8.0.0", getVersionString(Version("Twisted", 8, 0, 0)))
def test_getVersionStringWithPrerelease(self):
"""
@ -412,34 +418,34 @@ class VersionsTests(TestCase):
"""
self.assertEqual(
getVersionString(Version("whatever", 8, 0, 0, prerelease=1)),
"whatever 8.0.0.rc1")
"whatever 8.0.0.rc1",
)
def test_getVersionStringWithReleaseCandidate(self):
"""
L{getVersionString} includes the release candidate, if any.
"""
self.assertEqual(
getVersionString(Version("whatever", 8, 0, 0,
release_candidate=1)),
"whatever 8.0.0.rc1")
getVersionString(Version("whatever", 8, 0, 0, release_candidate=1)),
"whatever 8.0.0.rc1",
)
def test_getVersionStringWithPost(self):
"""
L{getVersionString} includes the postrelease, if any.
"""
self.assertEqual(
getVersionString(Version("whatever", 8, 0, 0,
post=1)),
"whatever 8.0.0.post1")
getVersionString(Version("whatever", 8, 0, 0, post=1)),
"whatever 8.0.0.post1",
)
def test_getVersionStringWithDev(self):
"""
L{getVersionString} includes the dev release, if any.
"""
self.assertEqual(
getVersionString(Version("whatever", 8, 0, 0,
dev=1)),
"whatever 8.0.0.dev1")
getVersionString(Version("whatever", 8, 0, 0, dev=1)), "whatever 8.0.0.dev1"
)
def test_getVersionStringWithDevAndRC(self):
"""
@ -447,9 +453,9 @@ class VersionsTests(TestCase):
any.
"""
self.assertEqual(
getVersionString(Version("whatever", 8, 0, 0,
release_candidate=2, dev=1)),
"whatever 8.0.0.rc2.dev1")
getVersionString(Version("whatever", 8, 0, 0, release_candidate=2, dev=1)),
"whatever 8.0.0.rc2.dev1",
)
def test_getVersionStringWithDevAndPost(self):
"""
@ -457,9 +463,9 @@ class VersionsTests(TestCase):
any.
"""
self.assertEqual(
getVersionString(Version("whatever", 8, 0, 0,
post=2, dev=1)),
"whatever 8.0.0.post2.dev1")
getVersionString(Version("whatever", 8, 0, 0, post=2, dev=1)),
"whatever 8.0.0.post2.dev1",
)
def test_baseWithNEXT(self):
"""
@ -477,44 +483,42 @@ class VersionsTests(TestCase):
"""
The base version includes 'rcX' for versions with prereleases.
"""
self.assertEqual(Version("foo", 1, 0, 0, prerelease=8).base(),
"1.0.0.rc8")
self.assertEqual(Version("foo", 1, 0, 0, prerelease=8).base(), "1.0.0.rc8")
def test_baseWithPost(self):
"""
The base version includes 'postX' for versions with postreleases.
"""
self.assertEqual(Version("foo", 1, 0, 0, post=8).base(),
"1.0.0.post8")
self.assertEqual(Version("foo", 1, 0, 0, post=8).base(), "1.0.0.post8")
def test_baseWithDev(self):
"""
The base version includes 'devX' for versions with dev releases.
"""
self.assertEqual(Version("foo", 1, 0, 0, dev=8).base(),
"1.0.0.dev8")
self.assertEqual(Version("foo", 1, 0, 0, dev=8).base(), "1.0.0.dev8")
def test_baseWithReleaseCandidate(self):
"""
The base version includes 'rcX' for versions with prereleases.
"""
self.assertEqual(Version("foo", 1, 0, 0, release_candidate=8).base(),
"1.0.0.rc8")
self.assertEqual(
Version("foo", 1, 0, 0, release_candidate=8).base(), "1.0.0.rc8"
)
def test_baseWithDevAndRC(self):
"""
The base version includes 'rcXdevX' for versions with dev releases and
a release candidate.
"""
self.assertEqual(Version("foo", 1, 0, 0,
release_candidate=2, dev=8).base(),
"1.0.0.rc2.dev8")
self.assertEqual(
Version("foo", 1, 0, 0, release_candidate=2, dev=8).base(), "1.0.0.rc2.dev8"
)
def test_baseWithDevAndPost(self):
"""
The base version includes 'postXdevX' for versions with dev releases
and a postrelease.
"""
self.assertEqual(Version("foo", 1, 0, 0,
post=2, dev=8).base(),
"1.0.0.post2.dev8")
self.assertEqual(
Version("foo", 1, 0, 0, post=2, dev=8).base(), "1.0.0.post2.dev8"
)

View File

@ -38,23 +38,38 @@ def _findPath(path, package):
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'."))
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:
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, post, dev, create,
_date=None, _getcwd=None, _print=print):
def _run(
package,
path,
newversion,
patch,
rc,
post,
dev,
create,
_date=None,
_getcwd=None,
_print=print,
):
if not _getcwd:
_getcwd = os.getcwd
@ -63,26 +78,45 @@ def _run(package, path, newversion, patch, rc, post, dev, create,
_date = datetime.date.today()
if type(package) != str:
package = package.encode('utf8')
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 or \
newversion and post:
if (
newversion
and patch
or newversion
and dev
or newversion
and rc
or newversion
and post
):
raise ValueError("Only give --newversion")
if dev and patch or dev and rc or dev and post:
raise ValueError("Only give --dev")
if create and dev or create and patch or create and rc or \
create and post or create and newversion:
if (
create
and dev
or create
and patch
or create
and rc
or create
and post
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
@ -94,10 +128,12 @@ def _run(package, path, newversion, patch, rc, post, dev, create,
release.append(0)
v = Version(
package, *release,
package,
*release,
release_candidate=st_version.pre[1] if st_version.pre else None,
post=st_version.post[1] if st_version.post else None,
dev=st_version.dev[1] if st_version.dev 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)
@ -107,8 +143,13 @@ def _run(package, path, newversion, patch, rc, post, dev, create,
existing = _existing_version(path)
if existing.release_candidate:
v = Version(package, existing.major, existing.minor,
existing.micro, existing.release_candidate + 1)
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)
@ -119,8 +160,7 @@ def _run(package, path, newversion, patch, rc, post, dev, create,
rc = None
existing = _existing_version(path)
v = Version(package, existing.major, existing.minor,
existing.micro + 1, rc)
v = Version(package, existing.major, existing.minor, existing.micro + 1, rc)
elif post:
existing = _existing_version(path)
@ -130,8 +170,7 @@ def _run(package, path, newversion, patch, rc, post, dev, create,
else:
_post = existing.post + 1
v = Version(package, existing.major, existing.minor,
existing.micro, post=_post)
v = Version(package, existing.major, existing.minor, existing.micro, post=_post)
elif dev:
existing = _existing_version(path)
@ -141,29 +180,31 @@ def _run(package, path, newversion, patch, rc, post, dev, create,
else:
_dev = existing.dev + 1
v = Version(package, existing.major, existing.minor,
existing.micro, existing.release_candidate, dev=_dev)
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)
v = Version(package, existing.major, existing.minor, existing.micro)
else:
raise ValueError(
"You need to issue a rc before updating the major/minor")
raise ValueError("You need to issue a rc before updating the major/minor")
NEXT_repr = repr(Version(package, "NEXT", 0, 0)).split("#")[0].replace(
"'", '"')
NEXT_repr_bytes = NEXT_repr.encode('utf8')
NEXT_repr = repr(Version(package, "NEXT", 0, 0)).split("#")[0].replace("'", '"')
NEXT_repr_bytes = NEXT_repr.encode("utf8")
version_repr = repr(v).split("#")[0].replace("'", '"')
version_repr_bytes = version_repr.encode('utf8')
version_repr_bytes = version_repr.encode("utf8")
existing_version_repr = repr(existing).split("#")[0].replace(
"'", '"')
existing_version_repr_bytes = existing_version_repr.encode('utf8')
existing_version_repr = repr(existing).split("#")[0].replace("'", '"')
existing_version_repr_bytes = existing_version_repr.encode("utf8")
_print("Updating codebase to %s" % (v.public()))
@ -177,52 +218,50 @@ def _run(package, path, newversion, patch, rc, post, dev, create,
# 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(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')))
(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)
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')))
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:
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.format(package=package,
version_repr=version_repr)
_VERSIONPY_TEMPLATE.format(package=package, version_repr=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('--post', is_flag=True)
@click.option('--dev', is_flag=True)
@click.option('--create', is_flag=True)
@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("--post", 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
if __name__ == "__main__": # pragma: no cover
run()

View File

@ -11,10 +11,10 @@ from twisted.trial.unittest import TestCase
class ExampleProjTests(TestCase):
def test_version(self):
"""
exampleproj has a version of 1.2.3.
"""
import exampleproj
self.assertEqual(exampleproj.__version__.base(), "1.2.3")