]> jfr.im git - erebus.git/blobdiff - erebus.py
add new abc for sockets
[erebus.git] / erebus.py
index a93e1e0ee17c90b5d3b6d7c96cd818bc0f1c38cd..fb6fcc80fc703480887c2be351c368fb1a7e5669 100644 (file)
--- a/erebus.py
+++ b/erebus.py
@@ -7,7 +7,7 @@
 from __future__ import print_function
 
 import os, sys, select, time, traceback, random, gc
-import bot, config, ctlmod
+import bot, config, ctlmod, modlib
 
 class Erebus(object): #singleton to pass around
        APIVERSION = 0
@@ -241,6 +241,8 @@ class Erebus(object): #singleton to pass around
                self.bots[nick.lower()] = obj
 
        def newfd(self, obj, fileno):
+               if not isinstance(obj, modlib.Socketlike):
+                       raise Exception('Attempted to hook a socket without a class to process data')
                self.fds[fileno] = obj
                if self.potype == "poll":
                        self.po.register(fileno, select.POLLIN)