|
@@ -1,14 +1,13 @@
|
|
|
-from __future__ import print_function
|
|
|
import willie
|
|
|
|
|
|
import netaddr
|
|
|
-import urllib2
|
|
|
+import urllib3
|
|
|
import re
|
|
|
import os
|
|
|
import subprocess
|
|
|
|
|
|
import socket
|
|
|
-import SocketServer
|
|
|
+import socketserver
|
|
|
import threading
|
|
|
|
|
|
msgserver = None
|
|
@@ -22,9 +21,9 @@ msgserver_known_senders = {
|
|
|
"10.132.254.80": "public"
|
|
|
}
|
|
|
|
|
|
-class MsgHandler(SocketServer.BaseRequestHandler):
|
|
|
+class MsgHandler(socketserver.BaseRequestHandler):
|
|
|
def handle(self):
|
|
|
- self.data = self.request.recv(2048).strip()
|
|
|
+ data = self.request.recv(2048).strip()
|
|
|
sender = self.client_address[0]
|
|
|
if sender in msgserver_known_senders:
|
|
|
sender = msgserver_known_senders[sender]
|
|
@@ -38,9 +37,9 @@ class MsgHandler(SocketServer.BaseRequestHandler):
|
|
|
if bot.config.has_section('ffpb') and not (bot.config.ffpb.msg_target is None):
|
|
|
target = bot.config.ffpb.msg_target
|
|
|
|
|
|
- bot.msg(target, "[{0}] {1}".format(sender,self.data))
|
|
|
+ bot.msg(target, "[{0}] {1}".format(sender,str(data, "utf-8")))
|
|
|
|
|
|
-class ThreadingTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
|
|
|
+class ThreadingTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
|
|
|
pass
|
|
|
|
|
|
def setup(bot):
|
|
@@ -72,7 +71,7 @@ def shutdown(bot):
|
|
|
@willie.module.commands('status')
|
|
|
def ffpb_status(bot, trigger):
|
|
|
"""Status des FFPB-Netzes: Anzahl (aktiver) Knoten + Clients"""
|
|
|
- response = urllib2.urlopen('http://nodecount.paderborn.freifunk.net/')
|
|
|
+ response = urllib3.urlopen('http://nodecount.paderborn.freifunk.net/')
|
|
|
html = response.read()
|
|
|
m = re.search('<div id="nodecount">\s*(\d+)\s*</div>', html)
|
|
|
nodecount = int(m.group(1))
|
|
@@ -84,7 +83,7 @@ def ffpb_get_address(name):
|
|
|
|
|
|
if os.path.exists(peerfilename):
|
|
|
peerfile = open(peerfilename, "r")
|
|
|
- for line in peerfile:
|
|
|
+ for line in peerfile:
|
|
|
if line.startswith("# MAC:"):
|
|
|
peer_mac = line[6:].strip()
|
|
|
peerfile.close()
|
|
@@ -172,5 +171,5 @@ def ffpb_remoteexec(bot, trigger):
|
|
|
for line in lines[0:8]:
|
|
|
bot.say(line)
|
|
|
|
|
|
- except subprocess.CalledProcessError, e:
|
|
|
+ except subprocess.CalledProcessError as e:
|
|
|
bot.say('Fehler '+str(e.returncode)+' bei exec-on-peer('+target_name+'): ' + e.output)
|