Codewars OOP-Aufgabe
This commit is contained in:
parent
5875931cd0
commit
43f46df411
58
src/aufgabe2.py
Normal file
58
src/aufgabe2.py
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
class VersionManager():
|
||||||
|
|
||||||
|
def __init__(self, version="0.0.1"):
|
||||||
|
|
||||||
|
self.version = version
|
||||||
|
|
||||||
|
if self.version == "":
|
||||||
|
self.version = "0.0.1"
|
||||||
|
|
||||||
|
num = self.version.split(".")
|
||||||
|
|
||||||
|
while len(num) < 3:
|
||||||
|
num.append("0")
|
||||||
|
|
||||||
|
if len(num) > 3:
|
||||||
|
num = num[0:3]
|
||||||
|
|
||||||
|
try:
|
||||||
|
self.ma = int(num[0])
|
||||||
|
self.mi = int(num[1])
|
||||||
|
self.pa = int(num[2])
|
||||||
|
except:
|
||||||
|
raise Exception("Error occured while parsing version!")
|
||||||
|
|
||||||
|
self.history = []
|
||||||
|
|
||||||
|
def major(self):
|
||||||
|
self.history.append((self.ma, self.mi, self.pa))
|
||||||
|
self.ma = self.ma + 1
|
||||||
|
self.mi = 0
|
||||||
|
self.pa = 0
|
||||||
|
|
||||||
|
return self
|
||||||
|
|
||||||
|
def minor(self):
|
||||||
|
self.history.append((self.ma, self.mi, self.pa))
|
||||||
|
self.mi = self.mi + 1
|
||||||
|
self.pa = 0
|
||||||
|
|
||||||
|
return self
|
||||||
|
|
||||||
|
def patch(self):
|
||||||
|
self.history.append((self.ma, self.mi, self.pa))
|
||||||
|
self.pa = self.pa + 1
|
||||||
|
|
||||||
|
return self
|
||||||
|
|
||||||
|
def rollback(self):
|
||||||
|
if not self.history:
|
||||||
|
raise Exception("Cannot rollback!")
|
||||||
|
|
||||||
|
last = self.history.pop()
|
||||||
|
self.ma, self.mi, self.pa = last
|
||||||
|
|
||||||
|
return self
|
||||||
|
|
||||||
|
def release(self):
|
||||||
|
return f"{self.ma}.{self.mi}.{self.pa}"
|
||||||
Loading…
x
Reference in New Issue
Block a user