From 49bc79df831d5fef0f2c8eb0125f74ab124b9747 Mon Sep 17 00:00:00 2001 From: Daniel Fütterer <df89@outlook.com> Date: Thu, 18 Feb 2021 13:35:02 +0100 Subject: [PATCH] chore: delete legacy script --- /dev/null | 109 ------------------------------------------------------ 1 files changed, 0 insertions(+), 109 deletions(-) diff --git a/changelog_generator.py b/changelog_generator.py deleted file mode 100644 index 087dcf5..0000000 --- a/changelog_generator.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -##### To Do ##### -# - handle further keywords/types other than "feat" and "fix" -# - deal with parameters configuring the output (dev/usr; types, hash y/n, ...) -# Refactoring: rewrite using oop (-> UML) -# the processing ang recognizing of the commit components should be improved - -import os - -# a multidimensional list containing all commits separated by lines -commitHistory = [] -# a multidimensional list containing all commits grouped by tags -taggedHistory = [] -# a list of keywords used in the default conventional git (https://www.conventionalcommits.org/en/v1.0.0/) -# may later get converted into a dict -keywords = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "style", "test"] - -# get the formatted output from git log with additional delimiter for easier splitting -stream = os.popen("git log --format=%B%H%n%d%n--END--") -output = stream.read() -output = output.split("--END--") -del output[-1] - -# compute every commit (sepratae, delete unnecessary components, store into commitHistory) -for commit in output: - # seperate lines - wholeCommit = commit.split("\n") - commit = [x for x in wholeCommit if x] - - # delete unnecessary lines - for i,line in enumerate(commit): - if line == "": - del commit[i] - - if len(commit[1]) == 40: # Please improve here - pass - elif len(commit[2]) == 40: - del commit[1] - else: commit[2] = commit[2].strip() - - # put commit into list - commitHistory.append(commit) - - -# Grouping History using tags -for commit in commitHistory: - # Look if commit has a tag - if (len(commit) == 3) and ("tag: v" in commit[2]): - taggedHistory.append([commit[2][(commit[2].rfind(": v")+3):-1],commit[0:2]]) - else: - # Check if latest commit has a tag - if len(taggedHistory)==0: - # If there is no tag, create empty string instead - taggedHistory.append(["", commit]) - else: - taggedHistory[-1].append(commit) - - -# Construction of the changelog-file -fileTemplate = ["# Changelog"] -for tag in taggedHistory: - # A Dictionairy to store grouped commits - commitsByType = {"Fixes":[],"Features":[]} - - # If latest commit has no tag: - if tag[0] == "": - fileTemplate.append("\n## No version number yet ") - else: - fileTemplate.append("\n## Version " + tag[0]) - - # Grouping by type "feat" and "fix" - for commit in tag[1:]: - old = commit[0] - if commit[0].startswith(keywords[5]): # "fix" - if commit[0].startswith("fix: "): - new = old[(old.index(":")+2):] - commit[0] = new - commitsByType["Fixes"].append(commit) - else: - new = "**" + old[(old.index("(")+1):old.index(")")] + "**: " + old[(old.index(":")+2):] - commit[0] = new - commitsByType["Fixes"].append(commit) - elif commit[0].startswith(keywords[4]): # "feat" - if commit[0].startswith("feat: "): - new = old[(old.index(":")+2):] - commit[0] = new - commitsByType["Features"].append(commit) - else: - new = "**" + old[(old.index("(")+1):old.index(")")] + "**: " + old[(old.index(":")+2):] - commit[0] = new - commitsByType["Features"].append(commit) - - - # Creating grouped output - if len(commitsByType["Features"]) != 0: - fileTemplate.append("### Features") - for feature in commitsByType["Features"]: - fileTemplate.append("- " + feature[0] + " (" + commit[1][:6] + ")") - if len(commitsByType["Fixes"]) != 0: - fileTemplate.append("### Fixes") - for fix in commitsByType["Fixes"]: - fileTemplate.append("- " + fix[0] + " (" + commit[1][:6] + ")") - -# write into changelog -with open("changelog.md", "w") as file: - for line in fileTemplate: - file.write(line + "\n") -- Gitblit v1.9.1