Files
karma/scripts/gist-upload.py
2020-05-15 12:46:18 +01:00

54 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
import json
import os
import sys
import urllib2
def patchGist(filepath, gist_id, token):
api = 'api.github.com'
uri = 'https://{api}/gists/{gist_id}'.format(api=api, gist_id=gist_id)
with open(filepath) as f:
data = f.read()
filename = os.path.basename(filepath)
payload = {
"description": "Webpack bundle size stats",
"files": {
filename: {
"content": data,
"filename": filename
}
}
}
req = urllib2.Request(uri)
req.get_method = lambda: 'PATCH'
req.add_header('Authorization', 'token %s' % token)
try:
response = urllib2.urlopen(req, json.dumps(payload))
except Exception as e:
print("Request to '%s' failed: %s" % (uri, e))
if __name__ == '__main__':
if len(sys.argv) != 3:
print('Usage: GIST_ID FILE')
sys.exit(1)
token = os.getenv('GITHUB_TOKEN')
if not token:
print('GITHUB_TOKEN env variable is missing')
sys.exit(1)
gist_id = sys.argv[1]
filepath = sys.argv[2]
if not gist_id or not filepath:
print('Usage: GIST_ID FILE')
sys.exit(1)
patchGist(filepath, gist_id, token)