diff --git a/server.py b/server.py index d0e1b7b..65f5f78 100644 --- a/server.py +++ b/server.py @@ -1,4 +1,4 @@ -import BaseHTTPServer +import http.server import os import time import base64 @@ -6,8 +6,8 @@ import re import supybot.utils as utils import sqlite3 import collections -import urllib -from StringIO import StringIO +import urllib.parse +from io import StringIO host = 'http://domain.tld' port = 80 @@ -19,8 +19,8 @@ filename = '/home/botaccount/data/networkname/ChanTracker.db' channels = [] # empty to allows view of all channels recorded, otherwise restrict the views to channels # usage python server.py - -base64string = base64.encodestring('%s:%s' % (username,password))[:-1] +auth = '%s:%s' % (username,password) +base64string = base64.b64encode(auth.encode('UTF-8')) def timeElapsed(elapsed, short=False, leadingZeroes=False, years=True, weeks=True, days=True, hours=True, minutes=True, seconds=True): @@ -59,13 +59,13 @@ def timeElapsed(elapsed, short=False, leadingZeroes=False, years=True, leadingZeroes = True Format('second', secs) if not ret: - raise ValueError, 'Time difference not great enough to be noted.' + raise ValueError('Time difference not great enough to be noted.') if short: return ' '.join(ret) else: return format('%L', ret) -class MyHandler( BaseHTTPServer.BaseHTTPRequestHandler ): +class MyHandler( http.server.BaseHTTPRequestHandler ): server_version= "Ircd-Seven/1.1" if not standalone: def log_request(self, *args): @@ -93,17 +93,17 @@ class MyHandler( BaseHTTPServer.BaseHTTPRequestHandler ): if aa[0] == 'password': p = aa[1] if u and p: - raw = base64.encodestring('%s:%s' % (u,p))[:-1] + raw = base64.encodebytes(bytes('%s:%s' % (u,p), 'UTF-8'))[:-1] if not raw == base64string: query = '' else: - query = '/?hash=%s' % base64string + query = '/?hash=%s' % base64string.decode('UTF-8') if not query.startswith('/?hash='): body.append('\n
\nnothing found
\n') if len(ar): - print 'found %s results' % len(ar) + print('found %s results' % len(ar)) i = 0 body.append('%s | \n' % (h,q,id,id)) body.append('%s | \n' % (h,q,channel.split('#')[1],channel)) - body.append('%s | \n' % (h,q,urllib.urlencode({'oper':oper}),oper)) + body.append('%s | \n' % (h,q,urllib.parse.urlencode({'oper':oper}),oper)) body.append('+%s | \n' % kind) - body.append('%s | \n' % (h,q,urllib.urlencode({'mask':mask}),mask)) + body.append('%s | \n' % (h,q,urllib.parse.urlencode({'mask':mask}),mask)) s = time.strftime('%Y-%m-%d %H:%M:%S GMT',time.gmtime(float(begin_at))) body.append('%s | \n' % s) if end_at and end_at != begin_at: @@ -343,7 +343,7 @@ class MyHandler( BaseHTTPServer.BaseHTTPRequestHandler ): else: body.append( '\n' ) if removed_by: - body.append( ' | %s | \n' % (h,q,urllib.urlencode({'removed_by':removed_by}),removed_by)) + body.append( '%s | \n' % (h,q,urllib.parse.urlencode({'removed_by':removed_by}),removed_by)) else: body.append( '\n') # affected = '' @@ -361,10 +361,10 @@ class MyHandler( BaseHTTPServer.BaseHTTPRequestHandler ): self.send_response(200) self.send_header("Content-type","text/html") full = ''.join(body) - print 'html lines %s' % len(full) + print('html lines %s' % len(full)) self.send_header("Content-length",len(full)) self.end_headers() - self.wfile.write(full) + self.wfile.write(full.encode('UTF-8')) c.close() def _getbandb (self): @@ -402,7 +402,7 @@ class MyHandler( BaseHTTPServer.BaseHTTPRequestHandler ): return db def httpd(handler_class=MyHandler, server_address = ('', port), ): - srvr = BaseHTTPServer.HTTPServer(server_address, handler_class) + srvr = http.server.HTTPServer(server_address, handler_class) srvr.serve_forever() if __name__ == "__main__": |