Reformat with black
This commit is contained in:
parent
72caa88a54
commit
24644e3372
|
@ -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"],
|
||||
)
|
||||
|
|
14
setup.py
14
setup.py
|
@ -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
|
||||
|
|
|
@ -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__"]
|
||||
|
|
|
@ -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"]
|
||||
|
|
|
@ -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
|
@ -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"
|
||||
)
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Reference in New Issue