summaryrefslogtreecommitdiffstats
path: root/Reaktor/UDP/index
diff options
context:
space:
mode:
Diffstat (limited to 'Reaktor/UDP/index')
-rwxr-xr-xReaktor/UDP/index57
1 files changed, 57 insertions, 0 deletions
diff --git a/Reaktor/UDP/index b/Reaktor/UDP/index
new file mode 100755
index 00000000..950f0d21
--- /dev/null
+++ b/Reaktor/UDP/index
@@ -0,0 +1,57 @@
+#!/usr/bin/python
+
+from asycore import asychat
+import logging
+import sys
+log = logging.getLogger('asybot')
+
+def enable_syslog(logger):
+ import logging.handlers as handlers
+ from logging import Formatter
+ hdlr = handlers.SysLogHandler(
+ facility=handlers.SysLogHandler.LOG_DAEMON)
+ formatter = Formatter(
+ '%(filename)s: %(levelname)s: %(message)s')
+ hdlr.setFormatter(formatter)
+ logger.addHandler(hdlr)
+
+class ubot(asychat):
+ """ UDP Bot """
+ def __init__(self, port,pattern,action,bind="0.0.0.0",terminator='\r\n'):
+ asychat.__init__(self)
+ self.bind = bind
+ self.port = port
+ self.data = ''
+ self.set_terminator('\r\n')
+ self.bind_socket()
+
+ def bind_socket(self):
+ """
+ if the socket is already bound we want to reuse this socket anyway
+ """
+ log.error("not yet implemented")
+ sys.exit(23)
+ def collect_incoming_data(self,data):
+ self.data += data
+
+ def found_terminator(self):
+ """
+ TODO what happens if, for example in an html message we find our pattern a hundred times.
+ should the actions been called a hundred times or just once for the connect?
+ """
+ log.debug('<< %s' % self.data)
+
+ message = self.data
+ self.data = ''
+ if self.find_pattern(message):
+ self.start_action(message)
+
+ def find_pattern(self,message):
+ """ returns true if own pattern is found"""
+ log.error("not yet implemented")
+ sys.exit(23)
+
+ def start_action(self,message):
+ """ runs all the defined actions"""
+ log.error("not yet implemented")
+ sys.exit(23)