mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-02-09 08:00:50 +03:00
Restore print statements in scripts
This commit is contained in:
parent
972a072b12
commit
e5acc9fec9
|
@ -63,6 +63,7 @@ def get_package_info(package: str) -> dict:
|
|||
# "django" converts to "Django" on redirect
|
||||
r = requests.get(f"https://pypi.org/pypi/{package}/json", allow_redirects=True) # noqa: S113
|
||||
if not r.ok:
|
||||
print(f"Couldn't find package: {package}")
|
||||
sys.exit(1)
|
||||
return r.json()
|
||||
|
||||
|
@ -95,12 +96,14 @@ def get_all_latest_django_versions(
|
|||
if django_max_version:
|
||||
_django_max_version = django_max_version
|
||||
|
||||
print("Fetching all Django versions from PyPI")
|
||||
base_txt = REQUIREMENTS_DIR / "base.txt"
|
||||
with base_txt.open() as f:
|
||||
for line in f.readlines():
|
||||
if "django==" in line.lower():
|
||||
break
|
||||
else:
|
||||
print(f"django not found in {base_txt}") # Huh...?
|
||||
sys.exit(1)
|
||||
|
||||
# Begin parsing and verification
|
||||
|
@ -149,6 +152,7 @@ class GitHubManager:
|
|||
self.load_existing_issues()
|
||||
|
||||
def load_requirements(self):
|
||||
print("Reading requirements")
|
||||
for requirements_file in self.requirements_files:
|
||||
with (REQUIREMENTS_DIR / f"{requirements_file}.txt").open() as f:
|
||||
for line in f.readlines():
|
||||
|
@ -167,6 +171,7 @@ class GitHubManager:
|
|||
|
||||
def load_existing_issues(self):
|
||||
"""Closes the issue if the base Django version is greater than needed"""
|
||||
print("Load existing issues from GitHub")
|
||||
qualifiers = {
|
||||
"repo": GITHUB_REPO,
|
||||
"author": "app/github-actions",
|
||||
|
@ -175,6 +180,7 @@ class GitHubManager:
|
|||
"in": "title",
|
||||
}
|
||||
issues = list(self.github.search_issues("[Django Update]", "created", "desc", **qualifiers))
|
||||
print(f"Found {len(issues)} issues matching search")
|
||||
for issue in issues:
|
||||
matches = re.match(r"\[Update Django] Django (\d+.\d+)$", issue.title)
|
||||
if not matches:
|
||||
|
@ -258,18 +264,23 @@ class GitHubManager:
|
|||
|
||||
def create_or_edit_issue(self, needed_dj_version: DjVersion, description: str):
|
||||
if issue := self.existing_issues.get(needed_dj_version):
|
||||
print(f"Editing issue #{issue.number} for Django {needed_dj_version}")
|
||||
issue.edit(body=description)
|
||||
else:
|
||||
print(f"Creating new issue for Django {needed_dj_version}")
|
||||
issue = self.repo.create_issue(f"[Update Django] Django {needed_dj_version}", description)
|
||||
issue.add_to_labels(f"django{needed_dj_version}")
|
||||
|
||||
@staticmethod
|
||||
def close_issue(issue: Issue):
|
||||
issue.edit(state="closed")
|
||||
print(f"Closed issue {issue.title} (ID: [{issue.id}]({issue.url}))")
|
||||
|
||||
def generate(self):
|
||||
for version in self.needed_dj_versions:
|
||||
print(f"Handling GitHub issue for Django {version}")
|
||||
md_content = self.generate_markdown(version)
|
||||
print(f"Generated markdown:\n\n{md_content}")
|
||||
self.create_or_edit_issue(version, md_content)
|
||||
|
||||
|
||||
|
@ -282,6 +293,7 @@ def main(django_max_version=None) -> None:
|
|||
manager.setup()
|
||||
|
||||
if not latest_djs:
|
||||
print("No new Django versions to update. Exiting...")
|
||||
sys.exit(0)
|
||||
|
||||
manager.generate()
|
||||
|
|
|
@ -26,25 +26,31 @@ def main() -> None:
|
|||
merged_date = dt.date.today() - dt.timedelta(days=1) # noqa: DTZ011
|
||||
repo = Github(login_or_token=GITHUB_TOKEN).get_repo(GITHUB_REPO)
|
||||
merged_pulls = list(iter_pulls(repo, merged_date))
|
||||
print(f"Merged pull requests: {merged_pulls}")
|
||||
if not merged_pulls:
|
||||
print("Nothing was merged, existing.")
|
||||
return
|
||||
|
||||
# Group pull requests by type of change
|
||||
grouped_pulls = group_pulls_by_change_type(merged_pulls)
|
||||
if not any(grouped_pulls.values()):
|
||||
print("Pull requests merged aren't worth a changelog mention.")
|
||||
return
|
||||
|
||||
# Generate portion of markdown
|
||||
release_changes_summary = generate_md(grouped_pulls)
|
||||
print(f"Summary of changes: {release_changes_summary}")
|
||||
|
||||
# Update CHANGELOG.md file
|
||||
release = f"{merged_date:%Y.%m.%d}"
|
||||
changelog_path = ROOT / "CHANGELOG.md"
|
||||
write_changelog(changelog_path, release, release_changes_summary)
|
||||
print(f"Wrote {changelog_path}")
|
||||
|
||||
# Update version
|
||||
setup_py_path = ROOT / "pyproject.toml"
|
||||
update_version(setup_py_path, release)
|
||||
print(f"Updated version in {setup_py_path}")
|
||||
|
||||
# Run uv lock
|
||||
uv_lock_path = ROOT / "uv.lock"
|
||||
|
@ -54,11 +60,12 @@ def main() -> None:
|
|||
update_git_repo([changelog_path, setup_py_path, uv_lock_path], release)
|
||||
|
||||
# Create GitHub release
|
||||
repo.create_git_release(
|
||||
github_release = repo.create_git_release(
|
||||
tag=release,
|
||||
name=release,
|
||||
message=release_changes_summary,
|
||||
)
|
||||
print(f"Created release on GitHub {github_release}")
|
||||
|
||||
|
||||
def iter_pulls(
|
||||
|
@ -148,6 +155,7 @@ def update_git_repo(paths: list[Path], release: str) -> None:
|
|||
)
|
||||
repo.git.tag("-a", release, m=message)
|
||||
server = f"https://{GITHUB_TOKEN}@github.com/{GITHUB_REPO}.git"
|
||||
print(f"Pushing changes to {GIT_BRANCH} branch of {GITHUB_REPO}")
|
||||
repo.git.push(server, GIT_BRANCH)
|
||||
repo.git.push("--tags", server, GIT_BRANCH)
|
||||
|
||||
|
|
|
@ -26,8 +26,10 @@ def main() -> None:
|
|||
# Add missing users to the JSON file
|
||||
contrib_file = ContributorsJSONFile()
|
||||
for author in recent_authors:
|
||||
print(f"Checking if {author.login} should be added")
|
||||
if author.login not in contrib_file:
|
||||
contrib_file.add_contributor(author)
|
||||
print(f"Added {author.login} to contributors")
|
||||
contrib_file.save()
|
||||
|
||||
# Generate MD file from JSON file
|
||||
|
|
Loading…
Reference in New Issue
Block a user