Index: third_party/twisted_8_1/twisted/words/im/tocsupport.py |
diff --git a/third_party/twisted_8_1/twisted/words/im/tocsupport.py b/third_party/twisted_8_1/twisted/words/im/tocsupport.py |
deleted file mode 100644 |
index 36ac2cd9b29884d422d6a6de20178bac417d0374..0000000000000000000000000000000000000000 |
--- a/third_party/twisted_8_1/twisted/words/im/tocsupport.py |
+++ /dev/null |
@@ -1,220 +0,0 @@ |
-# Copyright (c) 2001-2004 Twisted Matrix Laboratories. |
-# See LICENSE for details. |
- |
- |
-"""TOC (i.e. AIM) support for Instance Messenger.""" |
- |
-# System Imports |
-import string, re |
-from zope.interface import implements |
- |
-# Twisted Imports |
-from twisted.words.protocols import toc |
-from twisted.words.im.locals import ONLINE, OFFLINE, AWAY |
-from twisted.internet import defer, reactor, protocol |
-from twisted.internet.defer import succeed |
- |
-# Sibling Imports |
-from twisted.words.im import basesupport, interfaces, locals |
- |
-def dehtml(text): |
- text=string.replace(text,"<br>","\n") |
- text=string.replace(text,"<BR>","\n") |
- text=string.replace(text,"<Br>","\n") # XXX make this a regexp |
- text=string.replace(text,"<bR>","\n") |
- text=re.sub('<.*?>','',text) |
- text=string.replace(text,'>','>') |
- text=string.replace(text,'<','<') |
- text=string.replace(text,'&','&') |
- text=string.replace(text,' ',' ') |
- text=string.replace(text,'"','"') |
- return text |
- |
-def html(text): |
- text=string.replace(text,'"','"') |
- text=string.replace(text,'&','&') |
- text=string.replace(text,'<','<') |
- text=string.replace(text,'>','>') |
- text=string.replace(text,"\n","<br>") |
- return '<font color="#000000" back="#ffffff" size=3>%s</font>'%text |
- |
-class TOCPerson(basesupport.AbstractPerson): |
- def isOnline(self): |
- return self.status != OFFLINE |
- |
- def getStatus(self): |
- return self.status |
- |
- def getIdleTime(self): |
- return str(self.idletime) |
- |
- def setStatusAndIdle(self, status, idletime): |
- if self.account.client is None: |
- raise locals.OfflineError |
- self.status = status |
- self.idletime = idletime |
- self.account.client.chat.getContactsList().setContactStatus(self) |
- |
- def sendMessage(self, text, meta=None): |
- if self.account.client is None: |
- raise locals.OfflineError |
- if meta: |
- if meta.get("style", None) == "emote": |
- text="* "+text+"* " |
- self.account.client.say(self.name,html(text)) |
- return succeed(text) |
- |
-class TOCGroup(basesupport.AbstractGroup): |
- implements(interfaces.IGroup) |
- def __init__(self, name, tocAccount): |
- basesupport.AbstractGroup.__init__(self, name, tocAccount) |
- self.roomID = self.client.roomID[self.name] |
- |
- def sendGroupMessage(self, text, meta=None): |
- if self.account.client is None: |
- raise locals.OfflineError |
- if meta: |
- if meta.get("style", None) == "emote": |
- text="* "+text+"* " |
- self.account.client.chat_say(self.roomID,html(text)) |
- return succeed(text) |
- |
- def leave(self): |
- if self.account.client is None: |
- raise locals.OfflineError |
- self.account.client.chat_leave(self.roomID) |
- |
- |
-class TOCProto(basesupport.AbstractClientMixin, toc.TOCClient): |
- def __init__(self, account, chatui, logonDeferred): |
- toc.TOCClient.__init__(self, account.username, account.password) |
- basesupport.AbstractClientMixin.__init__(self, account, chatui, |
- logonDeferred) |
- self.roomID = {} |
- self.roomIDreverse = {} |
- |
- def _debug(self, m): |
- pass #print '<toc debug>', repr(m) |
- |
- def getGroupConversation(self, name, hide=0): |
- return self.chat.getGroupConversation( |
- self.chat.getGroup(name, self), hide) |
- |
- def addContact(self, name): |
- self.add_buddy([name]) |
- if not self._buddylist.has_key('TwistedIM'): |
- self._buddylist['TwistedIM'] = [] |
- if name in self._buddylist['TwistedIM']: |
- # whoops, don't add again |
- return |
- self._buddylist['TwistedIM'].append(name) |
- self.set_config(self._config_mode, self._buddylist, self._permit, self._deny) |
- |
- def getPerson(self,name): |
- return self.chat.getPerson(name, self) |
- |
- def onLine(self): |
- self.account._isOnline = 1 |
- #print '$$!&*$&!(@$*& TOC ONLINE *!#@&$(!*%&' |
- |
- def gotConfig(self, mode, buddylist, permit, deny): |
- #print 'got toc config', repr(mode), repr(buddylist), repr(permit), repr(deny) |
- self._config_mode = mode |
- self._buddylist = buddylist |
- self._permit = permit |
- self._deny = deny |
- if permit: |
- self._debug('adding permit') |
- self.add_permit(permit) |
- if deny: |
- self._debug('adding deny') |
- self.add_deny(deny) |
- clist=[] |
- for k in buddylist.keys(): |
- self.add_buddy(buddylist[k]) |
- for name in buddylist[k]: |
- self.getPerson(name).setStatusAndIdle(OFFLINE, '--') |
- self.signon() |
- name = None |
- def tocNICK(self,data): |
- if not self.name: |
- print 'Waiting for second NICK', data |
- self.name=data[0] |
- self.accountName = '%s (TOC)' % self.name |
- self.chat.getContactsList() |
- else: |
- print 'reregistering...?', data |
- self.name=data[0] |
- # self.accountName = "%s (TOC)"%data[0] |
- if self._logonDeferred is not None: |
- self._logonDeferred.callback(self) |
- self._logonDeferred = None |
- |
- ### Error Messages |
- def hearError(self, code, args): |
- print '*** TOC ERROR ***', repr(code), repr(args) |
- def hearWarning(self, newamount, username): |
- print '*** TOC WARNING ***', repr(newamount), repr(username) |
- ### Buddy Messages |
- def hearMessage(self,username,message,autoreply): |
- if autoreply: |
- message='<AUTO-REPLY>: '+message |
- self.chat.getConversation(self.getPerson(username) |
- ).showMessage(dehtml(message)) |
- def updateBuddy(self,username,online,evilness,signontime,idletime,userclass,away): |
- if away: |
- status=AWAY |
- elif online: |
- status=ONLINE |
- else: |
- status=OFFLINE |
- self.getPerson(username).setStatusAndIdle(status, idletime) |
- |
- ### Group Chat |
- def chatJoined(self, roomid, roomname, users): |
- self.roomID[roomname]=roomid |
- self.roomIDreverse[roomid]=roomname |
- self.getGroupConversation(roomname).setGroupMembers(users) |
- def chatUpdate(self,roomid,member,inroom): |
- group=self.roomIDreverse[roomid] |
- if inroom: |
- self.getGroupConversation(group).memberJoined(member) |
- else: |
- self.getGroupConversation(group).memberLeft(member) |
- def chatHearMessage(self, roomid, username, message): |
- if toc.normalize(username) == toc.normalize(self.name): |
- return # ignore the message |
- group=self.roomIDreverse[roomid] |
- self.getGroupConversation(group).showGroupMessage(username, dehtml(message)) |
- def chatHearWhisper(self, roomid, username, message): |
- print '*** user whispered *** ', roomid, username, message |
- def chatInvited(self, roomid, roomname, username, message): |
- print '*** user invited us to chat *** ',roomid, roomname, username, message |
- def chatLeft(self, roomid): |
- group=self.roomIDreverse[roomid] |
- self.getGroupConversation(group,1) |
- del self.roomID[group] |
- del self.roomIDreverse[roomid] |
- def rvousProposal(self,type,cookie,user,vip,port,**kw): |
- print '*** rendezvous. ***', type, cookie, user, vip, port, kw |
- def receiveBytes(self, user, file, chunk, sofar, total): |
- print '*** File transfer! ***', user, file, chunk, sofar, total |
- |
- def joinGroup(self,name): |
- self.chat_join(4,toc.normalize(name)) |
- |
-class TOCAccount(basesupport.AbstractAccount): |
- implements(interfaces.IAccount) |
- gatewayType = "AIM (TOC)" |
- |
- _groupFactory = TOCGroup |
- _personFactory = TOCPerson |
- |
- def _startLogOn(self, chatui): |
- logonDeferred = defer.Deferred() |
- cc = protocol.ClientCreator(reactor, TOCProto, self, chatui, |
- logonDeferred) |
- d = cc.connectTCP(self.host, self.port) |
- d.addErrback(logonDeferred.errback) |
- return logonDeferred |
- |