25 lines
893 B
Python
Executable file
25 lines
893 B
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
from github import Github
|
|
import argparse
|
|
|
|
parser = argparse.ArgumentParser(description='Refresh a set of files in an existing release')
|
|
parser.add_argument('--token', help="Github Personal Access Token (PAT)", type=str, required=True)
|
|
parser.add_argument('--repo', help="Repository", type=str, required=True)
|
|
parser.add_argument('--tag', help="Release tag", type=str, required=True)
|
|
parser.add_argument('files', nargs=argparse.REMAINDER)
|
|
args = parser.parse_args()
|
|
|
|
if len(args.files) == 0:
|
|
print("ERROR: No files specified")
|
|
quit()
|
|
|
|
gh = Github(login_or_token=args.token)
|
|
repo = gh.get_repo(str(args.repo))
|
|
for fn in args.files:
|
|
release = repo.get_release(args.tag)
|
|
for asset in release.get_assets():
|
|
if asset.name == fn:
|
|
print("Found '" + fn + "', updating")
|
|
asset.delete_asset()
|
|
release.upload_asset(fn)
|