This commit is contained in:
2021-06-07 08:47:06 -04:00
parent edf45c033f
commit a74e3f6d04
4 changed files with 27 additions and 29 deletions
+7 -12
View File
@@ -22,7 +22,6 @@ import urllib.request, urllib.parse, urllib.error
import urllib.parse import urllib.parse
import http.client import http.client
import threading import threading
import queue
from hashlib import md5 from hashlib import md5
import json import json
import zlib import zlib
@@ -296,7 +295,7 @@ answer
(output, err) = p.communicate(nsup.encode()) (output, err) = p.communicate(nsup.encode())
if output.decode().find('status: NOERROR') >= 0: if output.decode().find('status: NOERROR') >= 0:
return None return None
return output.decode() return output.decode()+err.decode()
# #
@@ -338,7 +337,7 @@ def initlog(logfile):
try: try:
return open(logfile, "w") return open(logfile, "w")
except Exception as e: except Exception as e:
print("cannot open loffile %s, using STDERR" % logfile) print("cannot open loffile %s, using STDERR: %s" % (logfile, e))
return sys.stderr return sys.stderr
@@ -423,10 +422,7 @@ def readsock(sock):
if DEBUG > 3: sys.stderr.write("msg is %s" % str(msg)) if DEBUG > 3: sys.stderr.write("msg is %s" % str(msg))
if not msg: # Old hbc client if not msg: # Old hbc client
if verbose: print(("old hbc:", data)) if verbose: print(("old hbc:", data))
oldclient = True
msg = oldmtodict(data) msg = oldmtodict(data)
else:
oldclient = False
if DEBUG > 2: print(("readsock = %s, %s" % (msg,addrp))) if DEBUG > 2: print(("readsock = %s, %s" % (msg,addrp)))
addr = addrp[0:2] addr = addrp[0:2]
@@ -569,7 +565,7 @@ def updatecode(ucode, uname):
# #
class HttpServer(socketserver.ThreadingMixIn, http.server.HTTPServer): class HttpServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
allow_reuse_address = True allow_reuse_address = True
def threaded(): def threaded(self):
pass pass
# #
# #
@@ -582,7 +578,7 @@ class HttpHandler(http.server.BaseHTTPRequestHandler):
def handle(self): def handle(self):
return http.server.BaseHTTPRequestHandler.handle(self) # return http.server.BaseHTTPRequestHandler.handle(self)
try: try:
return http.server.BaseHTTPRequestHandler.handle(self) return http.server.BaseHTTPRequestHandler.handle(self)
except Exception as e: except Exception as e:
@@ -595,7 +591,7 @@ class HttpHandler(http.server.BaseHTTPRequestHandler):
self.setheaders(200) self.setheaders(200)
def setheaders(self, code, headerdict): def setheaders(self, code, headerdict={}):
self.send_response(code) self.send_response(code)
self.send_header("Last-Modified", time.strftime("%a, %d %b %Y %H:%M:%S GMT", time.gmtime(now))) self.send_header("Last-Modified", time.strftime("%a, %d %b %Y %H:%M:%S GMT", time.gmtime(now)))
# self.send_header("Accept-Ranges","bytes") # self.send_header("Accept-Ranges","bytes")
@@ -1086,7 +1082,6 @@ servthread = threading.Thread(target=serv.serve_forever)
servthread.daemon = True servthread.daemon = True
servthread.start() servthread.start()
hbdclass.Host.dnsQ = queue.Queue()
dnsT = threading.Thread(target=dnsupdatethread) dnsT = threading.Thread(target=dnsupdatethread)
dnsT.daemon = True dnsT.daemon = True
dnsT.start() dnsT.start()
@@ -1115,8 +1110,8 @@ while running:
running = False running = False
closeup() closeup()
continue continue
except select.error as value: except OSError as value:
if value[0] != 4: # interrupted system call if value.errno != 4: # interrupted system call
sys.stderr.write("select err %s %s" % (select.error, value)) sys.stderr.write("select err %s %s" % (select.error, value))
#raise os.error, value #raise os.error, value
continue continue
+17 -16
View File
@@ -7,6 +7,7 @@ the websit's heartbeat.py
import time import time
import json import json
import copy import copy
import queue
num = 0 num = 0
@@ -41,7 +42,6 @@ class Connection:
self.state = Connection.unknown self.state = Connection.unknown
if host: if host:
r = "new addr %s" % (addr)
Connection.htab[addr] = self.host.name Connection.htab[addr] = self.host.name
if self.host.isDynDns(): if self.host.isDynDns():
log(self.host.name, "dns update %s" % self.addr) log(self.host.name, "dns update %s" % self.addr)
@@ -154,6 +154,7 @@ class Connection:
class Host: class Host:
# Table of Hosts # Table of Hosts
hosts = {} hosts = {}
dnsQ = queue.Queue()
def __init__(self, name): def __init__(self, name):
global num global num
@@ -255,21 +256,21 @@ class Host:
def fixup(self): def fixup(self):
pass pass
def dispstate(self): #def dispstate(self):
if self.state in ["down", "overdue"]: # if self.state in ["down", "overdue"]:
state = "<b>%s</b>" % self.state # state = "<b>%s</b>" % self.state
elif self.state in ["up", "UP"]: # elif self.state in ["up", "UP"]:
state = "" # state = ""
for x in list(self.connections.keys()): # for x in list(self.connections.keys()):
try: # try:
state += " %5.1f" % (self.connections[x].rtts[-1]) # state += " %5.1f" % (self.connections[x].rtts[-1])
except: # except:
state += " %5s" % (self.connections[x].rtts[-1]) # state += " %5s" % (self.connections[x].rtts[-1])
elif self.state in ["unknown", "UNKNOWN"]: # elif self.state in ["unknown", "UNKNOWN"]:
state = "" # state = ""
else: # else:
state = "%s" % self.state # state = "%s" % self.state
return state # return state
def dispstats(self): def dispstats(self):
if self.doesack != -1: if self.doesack != -1:
+2
View File
@@ -0,0 +1,2 @@
websockets>=9.1
mattermostdriver>=7.3.0
+1 -1
View File
@@ -2,7 +2,7 @@ import asyncio
import websockets import websockets
async def hello(): async def hello():
uri = "ws://localhost:50005/messages" uri = "ws://w02:50005/messages"
async with websockets.connect(uri) as websocket: async with websockets.connect(uri) as websocket:
name = "Andreas" name = "Andreas"