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