Refactoring draft notes generation #3

Merged
iratusmachina merged 1 commits from feature/refactoring into main 2024-04-20 11:25:04 +00:00
3 changed files with 16 additions and 10 deletions

2
.gitignore vendored
View File

@ -2,4 +2,4 @@
bin bin
*.txt *.txt
artifacts artifacts
bin draft_notes.md

View File

@ -25,7 +25,7 @@ fmt:
.PHONY: lint .PHONY: lint
lint: lint:
golangci-lint run golangci-lint run --timeout 3m --verbose
.PHONY: build .PHONY: build
build: build:

View File

@ -49,14 +49,20 @@ def draft():
# Get the current and previous tags # Get the current and previous tags
tags = subprocess.check_output(["git", "tag", "--sort=creatordate"], text=True) tags = subprocess.check_output(["git", "tag", "--sort=creatordate"], text=True)
tags = [tag for tag in tags.split("\n") if tag] if tags:
tags.reverse() tags = [tag for tag in tags.split("\n") if tag]
current_tag, previous_tag, *_ = tags tags.reverse()
formatted_lines = subprocess.check_output(["git", "log", f"{current_tag}...{previous_tag}", f'--pretty=format:"* %s"'], text=True) current_tag, previous_tag, *_ = tags
lines = "\n".join([line.replace("\"", "") for line in formatted_lines.split("\n") if all(["merge" not in line.lower(), "changelog.md" not in line.lower()])]) formatted_lines = subprocess.check_output(["git", "log", f"{current_tag}...{previous_tag}", f'--pretty=format:"* %s"'], text=True)
fw.write(lines) lines = "\n".join([line.replace("\"", "") for line in formatted_lines.split("\n") if all(["merge" not in line.lower(), "changelog.md" not in line.lower()])])
fw.write("\n\n") fw.write(lines)
fw.write(f"Compare between recent changes: [{previous_tag[1:]}...{current_tag[1:]}]({remote_url}/compare/{previous_tag}...{current_tag})") fw.write("\n\n")
fw.write(f"Compare between recent changes: [{previous_tag[1:]}...{current_tag[1:]}]({remote_url}/compare/{previous_tag}...{current_tag})")
else:
# first tag
formatted_lines = subprocess.check_output(["git", "log", f'--pretty=format:"* %s"'], text=True)
lines = "\n".join([line.replace("\"", "") for line in formatted_lines.split("\n") if all(["merge" not in line.lower(), "changelog.md" not in line.lower()])])
fw.write(lines)
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
print(f"Command failed with return code {e.returncode}") print(f"Command failed with return code {e.returncode}")