import sys import json import gzip import csv import os import requests import warnings def send_post_request(req,user,password,data=None,headers=None): with warnings.catch_warnings(): warnings.simplefilter("ignore") r = requests.post(url,auth=(user, password), verify=False, data=data, headers=headers) return r if __name__ == "__main__": DEBUG = False HOME = os.path.abspath(os.path.join(os.path.realpath(__file__),"..","..")) CACHE = os.path.join(HOME,"cache") payload = json.load(sys.stdin) ip = payload.get('configuration', {}).get('ip', '') user = payload.get('configuration', {}).get('user', '') password = payload.get('configuration', {}).get('password', '') results_file = payload.get('results_file','') if not results_file or not ip or not user or not password: print("Missing mandatory input", file=sys.stderr) exit() with gzip.open(results_file, mode="rt") as f: reader = csv.DictReader(f) results = [row for row in reader] if DEBUG: with open(os.path.join(CACHE,"data.json"),"w") as f: json.dump(results,f,indent=4) requests_url = [] for result in results: if result.get("model_handle","") and result.get("event_id",""): requests_url.append("https://"+ip+"/spectrum/restful/events/"+result["event_id"]+"/model/"+result["model_handle"]) if DEBUG: with open(os.path.join(CACHE,"requests.json"),"w") as f: json.dump(requests_url,f,indent=4) r = None for url in requests_url: r = send_post_request(url,user,password) if DEBUG: with open(os.path.join(CACHE,"results.txt"),"w") as f: f.write("Done\n") if r: f.write(str(r)+"\n") f.write(r.text)