예제 #1
0
 async def post(self):
     post_data = self.request.body.decode('utf-8')
     post_data = json.loads(post_data)
     containerIP = str(
         sh.docker("inspect", "-f", "{{.NetworkSettings.IPAddress}}",
                   str(post_data["proID"]) + post_data["usrID"])).replace(
                       '\n', '').replace('\r', '')
     token = projectHandler.ip_search[containerIP]
     del projectHandler.ip_search[containerIP]
     del projectHandler.ip_map[token]
     # print(post_data)
     if post_data["exec"] == "exit1":
         send_data = docker_commands.exit1(post_data["usrID"],
                                           str(post_data["proID"]))
         ws = docker_websocketHandler.clients[post_data["usrID"]]
         del docker_websocketHandler.clients[post_data["usrID"]]
         ws.close()
     elif post_data["exec"] == "exit2":
         send_data = docker_commands.exit2(post_data["usrID"],
                                           str(post_data["proID"]))
         ws = docker_websocketHandler.clients[post_data["usrID"]]
         del docker_websocketHandler.clients[post_data["usrID"]]
         ws.close()
         openHandler.password[post_data["usrID"]] = 0
     else:
         send_data = {"error": "no such execution"}
     self.write(json.dumps(send_data))
예제 #2
0
 def on_close(self):
     try:
         #关闭连接后删除计时任务
         self.timer.remove()
         self.loop.remove_handler(self.fd)
         self.trans.close()
         # print("websocket closed")
     except:
         # print("token test failed")
         pass
     try:
         if self.id[0] in docker_websocketHandler.clients:
             docker_commands.exit1(self.id[0], self.id[1])
             del docker_websocketHandler.clients[self.id[0]]
     except:
         pass
예제 #3
0
 async def post(self):
     post_data = self.request.body.decode('utf-8')
     post_data = json.loads(post_data)
     # print(post_data)
     if post_data["exec"] == "exit1":
         send_data = docker_commands.exit1(post_data["usrID"],str(post_data["proID"]))
         ws = docker_websocketHandler.clients[post_data["usrID"]]
         del docker_websocketHandler.clients[post_data["usrID"]]
         ws.close()
     elif post_data["exec"] == "exit2":
         send_data = docker_commands.exit2(post_data["usrID"], str(post_data["proID"]))
         ws = docker_websocketHandler.clients[post_data["usrID"]]
         del docker_websocketHandler.clients[post_data["usrID"]]
         ws.close()
     else:
         send_data = {"error": "no such execution"}
     self.write(json.dumps(send_data))