def __init__(self): self.addr = lu.getAddr() self.OmegaAddr = lu.getOmegaAddr() self.ID = lu.getHTTP(self.OmegaAddr, lu.getPort("omega_tableReq"), lu.paths["omega_MinionTable"]) self.TCP_ScriptListener = lu.TCP_BackgroundProcess( self.addr, MinionTCP_Handler).listen()
def do_GET(self): # check if contained to directory lu.log("Get Request - " + self.path) filePath=re.sub("^/",os.getcwd()+"/",self.path) filePath=re.sub("%20"," ",filePath) filePath=re.sub("/+","/",filePath) pathSplit=[x for x in self.path.split("/") if x] # TODO : Restructure get using pathSplit # Get listing of nodes from omega. Returns JSON if (self.path == lu.paths["alpha_nodeListing"]): # node requestURL='http://'+str(lu.getOmegaAddr())+':'+str(lu.getPort("omega_tableReq"))+lu.paths["omega_Table"] lu.log("Requesting " + requestURL) msg=None try: with urllib.request.urlopen(requestURL) as response: self.setHeaders(200) try: msg = response.read().decode("UTF-8") self.wfile.write(msg.encode("UTF-8")) except: lu.error("Could not parse routing table") return 1 except: lu.log("Could not get network table from Omega.") # is file or directory reference elif os.path.isfile(filePath): self.setHeaders(200) self.writeFileToHandler(filePath) elif os.path.isdir(filePath): index=os.path.join(filePath,"index.html") if os.path.isfile(index): self.setHeaders(200) self.writeFileToHandler(index) else: if(len(os.listdir(filePath))): for i in os.listdir(filePath): i = "<a href=\'" + self.path + "/" + i + "\'>"+i+"</a></br>" self.wfile.write(i.encode("UTF-8")) else: self.wfile.write("directory empty".encode("UTF-8")) # get database entries for user elif pathSplit[0] == lu.paths["alpha_stdout"] or pathSplit[0] == lu.paths["alpha_stderr"]: msg = lu.deltaGetData(pathSplit) if(not msg): self.setHeaders(500) return self.setHeaders(200) self.wfile.write(msg.encode("UTF-8")) # no file could be found elif not os.path.exists(filePath): self.setHeaders(404) string="File : '" + filePath + "' not found." lu.log(string) self.wfile.write(string.encode("UTF-8")) else: self.setHeaders(500)
def __init__(self): self.addr=lu.getAddr() self.OmegaAddr=lu.getOmegaAddr() self.ID = lu.getHTTP(self.OmegaAddr, lu.getPort("omega_tableReq"), lu.paths["omega_MinionTable"]) self.TCP_ScriptListener = lu.TCP_BackgroundProcess(self.addr, MinionTCP_Handler).listen()