]> jfr.im git - erebus.git/blobdiff - erebus.py
testing
[erebus.git] / erebus.py
index 755f2b46c720ef8e7c8711d80fdcba372769b6c4..bf8305f0bc421d8d32a6d2e66b4134a50a832c2c 100644 (file)
--- a/erebus.py
+++ b/erebus.py
@@ -13,14 +13,18 @@ class Erebus(object):
 
        class User(object):
                chans = []
+
                def __init__(self, nick, auth=None):
                        self.nick = nick
                        self.auth = auth
+
                        if auth is not None:
                                self.checklevel()
+
                def authed(self, auth):
                        self.auth = auth
                        self.checklevel()
+
                def checklevel(self): self.level = 9999 #TODO get level from db
                def __str__(self): return self.nick
                def __repr__(self): return "<User %r>" % (self.nick)
@@ -28,22 +32,29 @@ class Erebus(object):
                users = []
                voices = []
                ops = []
+
                def __init__(self, name):
                        self.name = name
+
                def userjoin(self, user, level=None):
                        if user not in self.users: self.users.append(user)
                        if level == 'op' and user not in self.ops: self.ops.append(user)
                        if level == 'voice' and user not in self.voices: self.voices.append(user)
+
                def userpart(self, user):
                        if user in self.ops: self.ops.remove(user)
                        if user in self.voices: self.voices.remove(user)
                        if user in self.users: self.users.remove(user)
+
                def userop(self, user):
                        if user in self.users and user not in self.ops: self.ops.append(user)
+
                def uservoice(self, user):
                        if user in self.users and user not in self.voices: self.voices.append(user)
+
                def userdeop(self, user):
                        if user in self.ops: self.ops.remove(user)
+
                def userdevoice(self, user):
                        if user in self.voices: self.voices.remove(user)
 
@@ -57,17 +68,21 @@ class Erebus(object):
                if bind is None: bind = ''
                obj = bot.Bot(self, nick, user, bind, server, port, realname, chans)
                self.bots[nick.lower()] = obj
+
        def newfd(self, obj, fileno):
                print "newfd(Erebus(), %r, %r)" % (obj, fileno)
                self.fds[fileno] = obj
                self.po.register(fileno, select.POLLIN)
+
        def bot(self, name):
                return self.bots[name.lower()]
+
        def fd(self, fileno):
                return self.fds[fileno]
 
        def user(self, nick): #TODO
                return self.User(nick.lower())
+
        def channel(self, name): #TODO
                return self.Channel(name.lower())
 
@@ -101,6 +116,7 @@ def setup():
 
 def loop():
        poready = main.poll()
+
        for (fileno,mask) in poready:
                main.fd(fileno).getdata()