From c4d692c98f3e06d39cf80bf8fa2035c2e398646b Mon Sep 17 00:00:00 2001 From: df89 <df89@me.com> Date: Sun, 10 Oct 2021 18:24:20 +0200 Subject: [PATCH] refactor: separated script into different files --- commitBody.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 49 insertions(+), 0 deletions(-) diff --git a/commitBody.py b/commitBody.py new file mode 100644 index 0000000..438f22f --- /dev/null +++ b/commitBody.py @@ -0,0 +1,49 @@ +class CommitBody: + commitTypes = ("build", "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "style", "test") + def __init__(self, completeMessage): + self.completeMessage = completeMessage + + self.setSubjectAndBody() + self.setScope() + self.setCommitType() + + def setSubjectAndBody(self): + """set commit message subject and body (not in use yet)""" + try: # find start point of commit message + subStart = self.completeMessage.index(": ")+2 + except: + try: + subStart = self.completeMessage.index("\n") + except: + subStart = 0 + try: # find end point of commit message + subEnd = self.completeMessage.index("\n") + except: + self.subject = self.completeMessage[subStart:] + self.body = None + else: + self.subject = self.completeMessage[subStart:subEnd] + self.body = self.completeMessage[subEnd:].strip() + + def setScope(self): + """set commit scope if contained in message""" + try: + start = self.completeMessage.index("(")+1 + end = self.completeMessage.index("):") + except: + self.scope = None + else: + self.scope = self.completeMessage[start:end].strip().lower() + + def setCommitType(self): + """set commit type according to type list from conventional commits""" + for commitType in self.commitTypes: + if (self.completeMessage.startswith((commitType + ": "))) or (self.completeMessage.startswith((commitType + "("))) or (self.completeMessage.startswith((commitType + " ("))): + self.commitType = commitType + break + else: + self.commitType = "nonconform" + + def getCommitMessageWithType(self): + """get commit type and message subject as concatenated string""" + return self.commitType + ": " + self.subject \ No newline at end of file -- Gitblit v1.9.1