Update app.py
Browse files
app.py
CHANGED
|
@@ -104,36 +104,30 @@ def update_summary_and_create_pr(repo_url, folder_location, new_file_name, markd
|
|
| 104 |
global pr_url
|
| 105 |
try:
|
| 106 |
g = Github(HF_GITHUB_TOKEN)
|
| 107 |
-
|
| 108 |
-
# Use the repo_url parameter instead of hard-coding
|
| 109 |
repo = g.get_repo(repo_url)
|
| 110 |
|
| 111 |
-
print(f"Accessing repo: {repo.full_name}")
|
| 112 |
-
print(f"Folder location: {folder_location}")
|
| 113 |
-
|
| 114 |
# Get the current content of SUMMARY.md
|
| 115 |
summary_path = f"{folder_location}/SUMMARY.md"
|
| 116 |
try:
|
| 117 |
summary_file = repo.get_contents(summary_path)
|
| 118 |
summary_content = summary_file.decoded_content.decode()
|
| 119 |
-
print(f"Successfully retrieved SUMMARY.md from {summary_path}")
|
| 120 |
except GithubException as e:
|
| 121 |
-
print(f"Error accessing {summary_path}: {e}")
|
| 122 |
if e.status == 404:
|
| 123 |
-
|
| 124 |
summary_content = "# Summary\n\n## Releases\n"
|
| 125 |
-
try:
|
| 126 |
-
repo.create_file(summary_path, "Create SUMMARY.md", summary_content, branch="main")
|
| 127 |
-
print(f"Created SUMMARY.md at {summary_path}")
|
| 128 |
-
except Exception as create_error:
|
| 129 |
-
print(f"Error creating SUMMARY.md: {create_error}")
|
| 130 |
-
return f"Error creating SUMMARY.md: {str(create_error)}"
|
| 131 |
else:
|
| 132 |
-
|
| 133 |
|
| 134 |
-
# Add new file
|
| 135 |
-
new_entry = f"{datetime.now().strftime('%b %d, %Y')}\n"
|
| 136 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
|
| 138 |
# Create a new branch for the PR
|
| 139 |
base_branch = repo.default_branch
|
|
@@ -146,7 +140,7 @@ def update_summary_and_create_pr(repo_url, folder_location, new_file_name, markd
|
|
| 146 |
summary_path,
|
| 147 |
f"Update SUMMARY.md with new release notes {new_file_name}",
|
| 148 |
updated_summary,
|
| 149 |
-
|
| 150 |
branch=new_branch
|
| 151 |
)
|
| 152 |
|
|
@@ -170,6 +164,7 @@ def update_summary_and_create_pr(repo_url, folder_location, new_file_name, markd
|
|
| 170 |
pr_url = pr.html_url
|
| 171 |
return f"Pull request created: {pr_url}"
|
| 172 |
except Exception as e:
|
|
|
|
| 173 |
return f"Error creating PR: {str(e)}"
|
| 174 |
|
| 175 |
# App layout
|
|
|
|
| 104 |
global pr_url
|
| 105 |
try:
|
| 106 |
g = Github(HF_GITHUB_TOKEN)
|
|
|
|
|
|
|
| 107 |
repo = g.get_repo(repo_url)
|
| 108 |
|
|
|
|
|
|
|
|
|
|
| 109 |
# Get the current content of SUMMARY.md
|
| 110 |
summary_path = f"{folder_location}/SUMMARY.md"
|
| 111 |
try:
|
| 112 |
summary_file = repo.get_contents(summary_path)
|
| 113 |
summary_content = summary_file.decoded_content.decode()
|
|
|
|
| 114 |
except GithubException as e:
|
|
|
|
| 115 |
if e.status == 404:
|
| 116 |
+
# If SUMMARY.md doesn't exist, create initial content
|
| 117 |
summary_content = "# Summary\n\n## Releases\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
else:
|
| 119 |
+
raise
|
| 120 |
|
| 121 |
+
# Add new file link at the top of the Releases section
|
| 122 |
+
new_entry = f"* [{datetime.now().strftime('%b %d, %Y')}]({new_file_name})\n"
|
| 123 |
+
releases_index = summary_content.find("## Releases")
|
| 124 |
+
if releases_index != -1:
|
| 125 |
+
insert_position = summary_content.find("\n", releases_index) + 1
|
| 126 |
+
updated_summary = (summary_content[:insert_position] + new_entry +
|
| 127 |
+
summary_content[insert_position:])
|
| 128 |
+
else:
|
| 129 |
+
# If Releases section doesn't exist, add it
|
| 130 |
+
updated_summary = summary_content + f"\n## Releases\n{new_entry}"
|
| 131 |
|
| 132 |
# Create a new branch for the PR
|
| 133 |
base_branch = repo.default_branch
|
|
|
|
| 140 |
summary_path,
|
| 141 |
f"Update SUMMARY.md with new release notes {new_file_name}",
|
| 142 |
updated_summary,
|
| 143 |
+
summary_file.sha if 'summary_file' in locals() else None,
|
| 144 |
branch=new_branch
|
| 145 |
)
|
| 146 |
|
|
|
|
| 164 |
pr_url = pr.html_url
|
| 165 |
return f"Pull request created: {pr_url}"
|
| 166 |
except Exception as e:
|
| 167 |
+
print(f"Error: {str(e)}")
|
| 168 |
return f"Error creating PR: {str(e)}"
|
| 169 |
|
| 170 |
# App layout
|