From 7786b842857e327f73391b6cb0cd4bc43a5e8cbe Mon Sep 17 00:00:00 2001 From: Andreas Wrede Date: Tue, 7 Jan 2020 15:43:49 -0500 Subject: [PATCH] finish conversion to python 3 --- hbc | 17 +++++++++-------- hbd | 8 +++++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/hbc b/hbc index a1460f5..9ea624a 100755 --- a/hbc +++ b/hbc @@ -16,8 +16,7 @@ import shutil import zlib import subprocess import syslog - -import syslog +import codecs PORT = 50003 @@ -136,7 +135,7 @@ def dicttos(ID, d): def stodict(msg): d = {} - if len(msg) > 0 and msg[0] == "!": + if len(msg) > 0 and chr(msg[0]) == "!": pk = zlib.decompress(msg[5:]).decode() d['ID'] = msg[1:4].decode() else: @@ -151,8 +150,10 @@ def stodict(msg): d[k] = None else: v = vr[1].strip() - if v[0].isdigit(): + try: v = eval(v) + except: + pass d[k] = v if verbose: print("msg is %s" % d) return d @@ -241,7 +242,7 @@ def doexec(conn, data): def doupdate(conn, msgDict): fail = None try: - code = msgDict['code'].decode('base64') + code = codecs.decode(msgDict['code'],'base64').decode() csum = msgDict['csum'] except: fail = "csum/code missing" @@ -258,8 +259,8 @@ def doupdate(conn, msgDict): def doupdateone(code, csum): - m = md5.new() - m.update(code) + m = md5() + m.update(code.encode()) icsum = m.hexdigest() if icsum != csum: return "checksum error" @@ -330,7 +331,7 @@ def process(): for rfh in r[0]: conn = conIds[rfh] data, addr = ifiles[rfh].recvfrom(MAXRECV) -# if verbose: print("sock.recvfrom: %s (%s) %s" % (addr, len(data), data[:4])) + if verbose: print("sock.recvfrom: %s (%s) %s" % (addr, len(data), data[:4])) try: msgDict = stodict(data) except Exception as e: diff --git a/hbd b/hbd index 8e3d5a8..a0d286f 100755 --- a/hbd +++ b/hbd @@ -26,6 +26,7 @@ import queue from hashlib import md5 import json import zlib +import codecs from subprocess import Popen, STDOUT, PIPE @@ -501,10 +502,11 @@ def updatecode(ucode, uname): except Exception as e: fail = "cannot read new code: %s" % e if not fail: - m = md5.new() - m.update(new_code) + m = md5() + new_codeE = new_code.encode() + m.update(new_codeE) icsum = m.hexdigest() - rmsg = {'csum': icsum, 'code': new_code.encode('base64','strict') } + rmsg = {'csum': icsum, 'code': codecs.encode(new_codeE, 'base64') } hbdclass.Host.hosts[uname].cmds.append(('UPD',rmsg)) return fail