build: ensure index.json is actually valid JSON before uploading (#16518)
* build: ensure index.json is actually valid JSON before uploading * chore: fix py linting for validation of index.json
This commit is contained in:
parent
9b7eb0eecb
commit
8582325e85
1 changed files with 14 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue