build: ensure index.json is actually valid JSON before uploading (backport: 3-1-x) (#16752)

* build: ensure index.json is actually valid JSON before uploading

* chore: fix py linting for validation of index.json
This commit is contained in:
trop[bot] 2019-02-05 15:01:20 -08:00 committed by Samuel Attard
parent 98d7b61a4a
commit cdb7eed21d

View file

@ -1,5 +1,6 @@
#!/usr/bin/env python
import json
import os
import sys
import urllib2
@ -15,6 +16,13 @@ BASE_URL = 'https://electron-metadumper.herokuapp.com/?version='
version = sys.argv[1]
authToken = os.getenv('META_DUMPER_AUTH_HEADER')
def is_json(myjson):
try:
json.loads(myjson)
except ValueError:
return False
return True
def get_content(retry_count = 5):
try:
request = urllib2.Request(
@ -22,9 +30,14 @@ def get_content(retry_count = 5):
headers={"Authorization" : authToken}
)
return urllib2.urlopen(
proposed_content = urllib2.urlopen(
request
).read()
if is_json(proposed_content):
return proposed_content
print("bad attempt")
raise Exception("Failed to fetch valid JSON from the metadumper service")
except Exception as e:
if retry_count == 0:
raise e