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