Package gozerbot :: Module jabberpresence
[hide private]
[frames] | no frames]

Source Code for Module gozerbot.jabberpresence

  1  # gozerbot/jabberpresence.py 
  2  # 
  3  # 
  4   
  5  """ jabber presence definition """ 
  6   
  7  __copyright__ = 'this file is in the public domain' 
  8   
  9  from gozerbot.generic import rlog 
 10  from gozerbot.ircevent import makeargrest 
 11  import xmpp, time 
 12   
13 -class Jabberpresence(xmpp.Presence):
14 15 """ jabber presence object """ 16
17 - def __init__(self, msg=None):
18 if msg: 19 xmpp.Presence.__init__(self, node=msg) 20 else: 21 xmpp.Presence.__init__(self) 22 self.jabber = True 23 self.id = self.getID() 24 rlog(1, 'jabberpresence', str(self))
25
26 - def toirc(self, bot):
27 """ set ircevent compatible attributes """ 28 self.cmnd = 'Presence' 29 self.conn = None 30 self.prefix = "" 31 self.postfix = "" 32 self.target = "" 33 self.arguments = [] 34 self.nick = str(self.getFrom().getResource()) 35 self.user = "" 36 self.jid = self.getAttr('jid') or self.getFrom() 37 self.ruserhost = self.jid 38 self.userhost = str(self.jid) 39 self.resource = self.getFrom().getResource() 40 self.stripped = str(self.jid.getStripped()) 41 self.channel = str(self.getFrom().getStripped()) 42 self.printto = self.channel 43 self.txt = "" 44 self.origtxt = self.txt 45 self.to = str(self.getTo()) 46 self.time = time.time() 47 self.msg = None 48 self.args = [] 49 self.rest = ' '.join(self.args) 50 self.usercmnd = 0 51 self.bot = bot 52 self.sock = None 53 self.inqueue = None 54 self.queues = [] 55 self.printto = None 56 self.speed = 5 57 self.options = [] 58 self.groups = None 59 self.type = self.getType() 60 self.cc = "" 61 self.alias = "" 62 if self.type == 'groupchat': 63 self.groupchat = True 64 else: 65 self.groupchat = False 66 if self.txt: 67 makeargrest(self) 68 self.joined = False 69 self.denied = False
70
71 - def copyin(self, jmsg):
72 """ copy in another jabber presence """ 73 self.cmnd = str(jmsg.cmnd) 74 self.conn = jmsg.conn 75 self.prefix = str(jmsg.prefix) 76 self.postfix = str(jmsg.postfix) 77 self.target = str(jmsg.target) 78 self.arguments = str(jmsg.arguments) 79 self.nick = str(jmsg.nick) 80 self.user = str(jmsg.user) 81 if not jmsg.jid: 82 self.jid = xmpp.JID(jmsg.userhost) 83 else: 84 self.jid = jmsg.jid 85 self.ruserhost = str(jmsg.ruserhost) 86 self.userhost = str(jmsg.userhost) 87 self.resource = str(jmsg.resource) 88 self.stripped = jmsg.stripped 89 self.channel = str(jmsg.channel) 90 self.printto = str(jmsg.printto) 91 self.txt = str(jmsg.txt) 92 self.origtxt = str(jmsg.origtxt) 93 self.to = str(jmsg.to) 94 self.time = jmsg.time 95 self.msg = jmsg.msg 96 self.args = list(jmsg.args) 97 self.rest = str(jmsg.rest) 98 self.usercmnd = jmsg.usercmnd 99 self.bot = jmsg.bot 100 self.sock = jmsg.sock 101 self.inqueue = jmsg.inqueue 102 self.queues = list(jmsg.queues) 103 self.printto = jmsg.printto 104 self.speed = int(jmsg.speed) 105 self.options = jmsg.options 106 self.groups = jmsg.groups 107 self.groupchat = jmsg.groupchat 108 self.cc = str(jmsg.cc) 109 self.alias = str(jmsg.alias) 110 self.joined = jmsg.joined 111 self.denied = jmsg.denied
112
113 - def ircstr(self):
114 """ return ircevent repr compatible string """ 115 return "cmnd=%s printto=%s arguments=%s nick=%s user=%s \ 116 userhost=%s channel=%s txt=%s args=%s rest=%s speed=%s" % (self.cmnd, \ 117 self.printto, self.arguments, self.nick, self.user, \ 118 self.userhost, self.channel, self.txt, self.args, self.rest, self.speed)
119