-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
__init__.py
118 lines (91 loc) 路 2.95 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
from __future__ import unicode_literals
__all__ = ["Version"]
import re
from java.lang import Object
class Version(Object):
dev = True
snapshot = False
def __init__(self, major=0, minor=0, rev=0, build=0, beta=0, rc=0):
self.major = major
self.minor = minor
self.rev = rev
self.build = build
self.beta = beta
self.rc = rc
def __eq__(self, other, strict=False):
ret = 0
version_1 = [self.major, self.minor, self.rev]
version_2 = [other.major, other.minor, other.rev]
if strict:
version_1.append(self.build)
version_1.append(self.beta)
version_1.append(self.rc)
version_2.append(other.build)
version_2.append(other.beta)
version_2.append(other.rc)
for i in range(max(len(version_1), len(version_2))):
v_1 = version_1[i] if i < len(version_1) else 0
v_2 = version_2[i] if i < len(version_2) else 0
if v_1 > v_2:
ret = 1
elif v_1 < v_2:
ret = -1
return ret
def __str__(self):
return self.toString()
def compareTo(self, that):
return self.__eq__(that, True)
def exists(self):
pass
@staticmethod
def fromXML(inputStream):
pass
def getBasicString(self):
return (
"{}.{}.{}-rc{}".format(self.major, self.minor, self.rev, self.rc)
if self.rc > 0
else "{}.{}.{}".format(self.major, self.minor, self.rev)
)
def getBeta(self):
return self.beta
def getBuildNumber(self):
return self.build
def getMajor(self):
return self.major
def getMinor(self):
return self.minor
def getRc(self):
return self.rc
def getRevision(self):
return self.rev
def getXML(self):
pass
def isDev(self):
return self.dev
def isFutureVersion(self, arg):
other = self.parse(arg)
return self.__eq__(other) == -1
def isSnapshot(self):
return self.snapshot
@staticmethod
def parse(s):
sem_ver = [int(i) for i in re.findall(r"-?\d+", s)]
return Version(sem_ver[0], sem_ver[1], sem_ver[2])
def toParseableString(self):
return "{}.{}.{}.{}".format(self.major, self.minor, self.rev, self.build)
def toString(self):
if self.rc > 0:
version = "{}.{}.{}-rc{} (b{})".format(
self.major, self.minor, self.rev, self.rc, self.build
)
elif self.isSnapshot():
version = "{}.{}.{}-SNAPSHOT (b{})".format(
self.major, self.minor, self.rev, self.build
)
elif self.build is not None:
version = "{}.{}.{} (b{})".format(
self.major, self.minor, self.rev, self.build
)
else:
version = "{}.{}.{}".format(self.major, self.minor, self.rev)
return version