blob: bad45f9d50e5caf991c115fc265f16fc1793d0d6 [file] [log] [blame]
#!/usr/bin/env python
import json
import os
import logging
import sys
# Use explicit version of python-requests
sys.path.insert(0, os.path.join(os.path.dirname(__file__),
"../../lib/python/vendor/requests-2.7.0"))
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../lib/python"))
from balrog.submitter.cli import BlobTweaker
if __name__ == '__main__':
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-j", "--json", dest="blob_data")
parser.add_option("-b", "--blobname", dest="blob_name")
parser.add_option("-a", "--api-root", dest="api_root")
parser.add_option("-c", "--credentials-file", dest="credentials_file")
parser.add_option("-u", "--username", dest="username", default="ffxbld")
parser.add_option("-v", "--verbose", dest="verbose", action="store_true")
options, args = parser.parse_args()
logging_level = logging.INFO
if options.verbose:
logging_level = logging.DEBUG
logging.basicConfig(stream=sys.stdout, level=logging_level,
format="%(message)s")
for opt in ('blob_data', 'blob_name', 'api_root', 'credentials_file', 'username'):
if not getattr(options, opt):
print >>sys.stderr, "Required option %s not present" % opt
sys.exit(1)
credentials = {}
execfile(options.credentials_file, credentials)
auth = (options.username, credentials['balrog_credentials'][options.username])
fp = open(options.blob_data)
blob_data = json.load(fp)
fp.close()
submitter = BlobTweaker(options.api_root, auth)
submitter.run(options.blob_name, blob_data)