in cloud-functions/rideshare-plus-rest-api/main.py [0:0]
def get_configuration(request: flask.Request) -> flask.Response:
try:
print("BEGIN: get_configuration")
filename = "website/rideshareplusconfig.json";
default_config = {
"looker_url" : "https://REPLACE-ME"
}
default_json = json.dumps(default_config)
project_id = os.environ['PROJECT_ID']
print("project_id: ", project_id)
code_bucket = os.environ['ENV_CODE_BUCKET']
print("code_bucket: ", code_bucket)
storage_client = storage.Client()
bucket = storage_client.get_bucket(code_bucket)
blob = bucket.blob(filename)
if blob.exists() == False:
print("Creating default configuration file.")
blob.upload_from_string(default_json, content_type='application/json', num_retries=3)
contents = blob.download_as_text()
config_dict = json.loads(contents)
print(config_dict['looker_url'])
replies = []
row_dict = { "looker_url" : config_dict['looker_url']}
replies.append(row_dict)
flask_response = flask.make_response(flask.jsonify({'data': replies}), 200)
flask_response.headers['Access-Control-Allow-Origin'] = '*'
print("END: get_configuration")
return flask_response
except Exception as e:
print ("Exception (get_configuration): " + str(e))
flask_response_error = flask.make_response(flask.jsonify({'errorMessage': str(e)}), 400)
flask_response_error.headers['Access-Control-Allow-Origin'] = '*'
return flask_response_error