kakamond commited on
Commit
0ddab14
·
verified ·
1 Parent(s): 123ba07

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -16
app.py CHANGED
@@ -10,10 +10,10 @@ def create_github_release(
10
  release_tag: str,
11
  release_name: str,
12
  release_description: str,
13
- file_path: str,
14
  ):
15
- file_name = os.path.basename(file_path)
16
  try:
 
17
  release_response = requests.post(
18
  f"https://api.github.com/repos/{owner}/{repo}/releases",
19
  headers={
@@ -28,25 +28,36 @@ def create_github_release(
28
  "prerelease": False,
29
  },
30
  )
 
31
  if release_response.status_code != 201:
32
  return f"Failed to create release: {release_response.status_code}, {release_response.json()}"
 
33
  # 获取上传 URL
34
  release = release_response.json()
35
  upload_url = release["upload_url"].split("{")[0]
36
- with open(file_path, "rb") as binary_file:
37
- upload_response = requests.post(
38
- f"{upload_url}?name={file_name}",
39
- headers={
40
- "Authorization": f"token {token}",
41
- "Content-Type": "application/octet-stream",
42
- },
43
- data=binary_file,
44
- )
45
 
46
- if upload_response.status_code == 201:
47
- return f"Binary file '{file_name}' uploaded successfully!"
48
- else:
49
- return f"Failed to upload binary file: {upload_response.status_code}, {upload_response.json()}"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
  except Exception as e:
52
  return f"Release failed: {e}"
@@ -86,7 +97,7 @@ if __name__ == "__main__":
86
  placeholder="Release with binary file with source code.",
87
  show_copy_button=True,
88
  ),
89
- gr.File(label="Binary File"),
90
  ],
91
  outputs=gr.TextArea(label="Status", show_copy_button=True),
92
  title="GitHub Release Creator",
 
10
  release_tag: str,
11
  release_name: str,
12
  release_description: str,
13
+ files: list,
14
  ):
 
15
  try:
16
+ # 创建 Release
17
  release_response = requests.post(
18
  f"https://api.github.com/repos/{owner}/{repo}/releases",
19
  headers={
 
28
  "prerelease": False,
29
  },
30
  )
31
+
32
  if release_response.status_code != 201:
33
  return f"Failed to create release: {release_response.status_code}, {release_response.json()}"
34
+
35
  # 获取上传 URL
36
  release = release_response.json()
37
  upload_url = release["upload_url"].split("{")[0]
 
 
 
 
 
 
 
 
 
38
 
39
+ # 上传多个二进制文件
40
+ results = []
41
+ for file_path in files:
42
+ file_name = os.path.basename(file_path)
43
+ with open(file_path, "rb") as binary_file:
44
+ upload_response = requests.post(
45
+ f"{upload_url}?name={file_name}",
46
+ headers={
47
+ "Authorization": f"token {token}",
48
+ "Content-Type": "application/octet-stream",
49
+ },
50
+ data=binary_file,
51
+ )
52
+
53
+ if upload_response.status_code == 201:
54
+ results.append(f"Binary file '{file_name}' uploaded successfully!")
55
+ else:
56
+ results.append(
57
+ f"Failed to upload binary file '{file_name}': {upload_response.status_code}, {upload_response.json()}"
58
+ )
59
+
60
+ return "\n".join(results)
61
 
62
  except Exception as e:
63
  return f"Release failed: {e}"
 
97
  placeholder="Release with binary file with source code.",
98
  show_copy_button=True,
99
  ),
100
+ gr.File(label="Binary File", file_count="multiple"),
101
  ],
102
  outputs=gr.TextArea(label="Status", show_copy_button=True),
103
  title="GitHub Release Creator",