class NetworkProcessings(App): def __init__(self, url): self.headers = {'User-Agent':'Termination/4.0 (Termination4)'} self.mac = uuid.uuid1().hex[-12:].upper() self.url=url self.sio, self.j=self.Try_To_System(self.url+"/host.json") self.Polling() def Polling(self): self.sio.emit((f"{self.j["NetWork"]["Dir"]}{self.j["NetWork"]["Command"]}"), {"PID": 1, "MAC": self.mac, "Name": platform.node()}) @self.sio.on(f"{self.j["NetWork"]["Dir"]}{self.j["NetWork"]["CommandSend"]}") def CommandSend(msg): print(msg) def send(self, route, sth): self.sio.emit(route, sth) def Post(self, url, data) -> str: response = requests.post(url,data=data,headers=self.headers) return response def Get(self, url) -> str: response = requests.get(url,headers=self.headers) return response def Wait_System(self, url, sleep=30): while True: c=self.Wait_Web(url) print("WSC: ", c) try: c2=self.Get(c["Host"]+c["NetWork"]["Dir"]+c["NetWork"]["Test"]) except Exception as e: print("WSE", e) else: if c2.status_code == 200: if c2.text == "OK": return c else: print("WS: C NOT OK C:", c2.text) time.sleep(sleep) def Wait_Web(self, url, sleep=30): while True: try: c = self.Get(url) print("WWC: ", c) except Exception as e: print("WWE", e) else: if c.status_code == 200: try: _=json.loads(c.text) if "CanConnect" in _ and _["CanConnect"] == True and "Host" in _: return _ else: print("WW: if e", _) except: print("WWE: JSON") time.sleep(sleep) def Try_To_System(self, url, sleep=30): while True: c=self.Wait_System(url, sleep) try: self.sio=socketio.Client() self.sio.connect(c["Host"]) except: pass else: return self.sio, c time.sleep(sleep)