mirror of
https://github.com/prymitive/karma
synced 2026-05-05 03:16:51 +00:00
54 lines
1.2 KiB
Python
Executable File
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)
|