def chooseRelease(): url = 'https://api.github.com/repos/{owner}/{repo}/releases' url = url.format(owner=args.owner, repo=args.repository) releases = jsonDialog(url) for r in releases: if r['tag_name'] == args.tag: return r if args.create_release: r = jsonDialog(url, {'tag_name': args.tag}) return r else: print('Release does not exist, perhaps create it with --create-release', file=sys.stderr) sys.exit(2)
def chooseRelease(): url = 'https://api.github.com/repos/{owner}/{repo}/releases' url = url.format(owner=args.owner, repo=args.repository) releases = jsonDialog(url) for r in releases: if r['tag_name'] == args.tag: return r if args.create_release: r = jsonDialog(url, {'tag_name': args.tag}) return r else: print( 'Release does not exist, perhaps create it with --create-release', file=sys.stderr) sys.exit(2)
def chooseRelease(): url = 'https://api.github.com/repos/{owner}/{repo}/releases' url = url.format(owner=args.owner, repo=args.repository) releases = jsonDialog(url) for r in releases: if r['tag_name'] == args.tag: return r print('Release does not exist', file=sys.stderr) sys.exit(2)
def upload(): release = chooseRelease() print('Release is {}'.format(release['html_url'])) rid = release['id'] name = os.path.basename(args.file) qname = urllib.parse.quote(name, safe='') url = release['upload_url'].split('{', 1)[0] + '?name=' + qname contenttype = args.type if contenttype is None: contenttype = 'application/octet-stream' with open(args.file, 'rb') as f: body = f.read() print('Uploading {} to {}'.format(name, url)) resp = jsonDialog(url, body, {'Content-Type': contenttype}) body = {'name': name} if args.description is not None: body['label'] = args.description url = resp['url'] jsonDialog(url, body, method='PATCH')
def label(): release = chooseRelease() asset = chooseAsset(release['assets']) url = asset['url'] body = {'name': args.filename, 'label': args.label} print(jsonDialog(url, body, method='PATCH'))