Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Unified Diff: third_party/twisted_8_1/twisted/words/im/pbsupport.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/twisted_8_1/twisted/words/im/pbsupport.py
diff --git a/third_party/twisted_8_1/twisted/words/im/pbsupport.py b/third_party/twisted_8_1/twisted/words/im/pbsupport.py
deleted file mode 100644
index 7e750b7306da801b00b00a1fd3efa11d33f0c7d1..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/words/im/pbsupport.py
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-
-"""L{twisted.words} support for Instance Messenger."""
-
-from __future__ import nested_scopes
-
-from twisted.internet import defer
-from twisted.internet import error
-from twisted.python import log
-from twisted.python.failure import Failure
-from twisted.spread import pb
-
-from twisted.words.im.locals import ONLINE, OFFLINE, AWAY
-
-from twisted.words.im import basesupport, interfaces
-from zope.interface import implements
-
-
-class TwistedWordsPerson(basesupport.AbstractPerson):
- """I a facade for a person you can talk to through a twisted.words service.
- """
- def __init__(self, name, wordsAccount):
- basesupport.AbstractPerson.__init__(self, name, wordsAccount)
- self.status = OFFLINE
-
- def isOnline(self):
- return ((self.status == ONLINE) or
- (self.status == AWAY))
-
- def getStatus(self):
- return self.status
-
- def sendMessage(self, text, metadata):
- """Return a deferred...
- """
- if metadata:
- d=self.account.client.perspective.directMessage(self.name,
- text, metadata)
- d.addErrback(self.metadataFailed, "* "+text)
- return d
- else:
- return self.account.client.perspective.callRemote('directMessage',self.name, text)
-
- def metadataFailed(self, result, text):
- print "result:",result,"text:",text
- return self.account.client.perspective.directMessage(self.name, text)
-
- def setStatus(self, status):
- self.status = status
- self.chat.getContactsList().setContactStatus(self)
-
-class TwistedWordsGroup(basesupport.AbstractGroup):
- implements(interfaces.IGroup)
- def __init__(self, name, wordsClient):
- basesupport.AbstractGroup.__init__(self, name, wordsClient)
- self.joined = 0
-
- def sendGroupMessage(self, text, metadata=None):
- """Return a deferred.
- """
- #for backwards compatibility with older twisted.words servers.
- if metadata:
- d=self.account.client.perspective.callRemote(
- 'groupMessage', self.name, text, metadata)
- d.addErrback(self.metadataFailed, "* "+text)
- return d
- else:
- return self.account.client.perspective.callRemote('groupMessage',
- self.name, text)
-
- def setTopic(self, text):
- self.account.client.perspective.callRemote(
- 'setGroupMetadata',
- {'topic': text, 'topic_author': self.client.name},
- self.name)
-
- def metadataFailed(self, result, text):
- print "result:",result,"text:",text
- return self.account.client.perspective.callRemote('groupMessage',
- self.name, text)
-
- def joining(self):
- self.joined = 1
-
- def leaving(self):
- self.joined = 0
-
- def leave(self):
- return self.account.client.perspective.callRemote('leaveGroup',
- self.name)
-
-
-
-class TwistedWordsClient(pb.Referenceable, basesupport.AbstractClientMixin):
- """In some cases, this acts as an Account, since it a source of text
- messages (multiple Words instances may be on a single PB connection)
- """
- def __init__(self, acct, serviceName, perspectiveName, chatui,
- _logonDeferred=None):
- self.accountName = "%s (%s:%s)" % (acct.accountName, serviceName, perspectiveName)
- self.name = perspectiveName
- print "HELLO I AM A PB SERVICE", serviceName, perspectiveName
- self.chat = chatui
- self.account = acct
- self._logonDeferred = _logonDeferred
-
- def getPerson(self, name):
- return self.chat.getPerson(name, self)
-
- def getGroup(self, name):
- return self.chat.getGroup(name, self)
-
- def getGroupConversation(self, name):
- return self.chat.getGroupConversation(self.getGroup(name))
-
- def addContact(self, name):
- self.perspective.callRemote('addContact', name)
-
- def remote_receiveGroupMembers(self, names, group):
- print 'received group members:', names, group
- self.getGroupConversation(group).setGroupMembers(names)
-
- def remote_receiveGroupMessage(self, sender, group, message, metadata=None):
- print 'received a group message', sender, group, message, metadata
- self.getGroupConversation(group).showGroupMessage(sender, message, metadata)
-
- def remote_memberJoined(self, member, group):
- print 'member joined', member, group
- self.getGroupConversation(group).memberJoined(member)
-
- def remote_memberLeft(self, member, group):
- print 'member left'
- self.getGroupConversation(group).memberLeft(member)
-
- def remote_notifyStatusChanged(self, name, status):
- self.chat.getPerson(name, self).setStatus(status)
-
- def remote_receiveDirectMessage(self, name, message, metadata=None):
- self.chat.getConversation(self.chat.getPerson(name, self)).showMessage(message, metadata)
-
- def remote_receiveContactList(self, clist):
- for name, status in clist:
- self.chat.getPerson(name, self).setStatus(status)
-
- def remote_setGroupMetadata(self, dict_, groupName):
- if dict_.has_key("topic"):
- self.getGroupConversation(groupName).setTopic(dict_["topic"], dict_.get("topic_author", None))
-
- def joinGroup(self, name):
- self.getGroup(name).joining()
- return self.perspective.callRemote('joinGroup', name).addCallback(self._cbGroupJoined, name)
-
- def leaveGroup(self, name):
- self.getGroup(name).leaving()
- return self.perspective.callRemote('leaveGroup', name).addCallback(self._cbGroupLeft, name)
-
- def _cbGroupJoined(self, result, name):
- groupConv = self.chat.getGroupConversation(self.getGroup(name))
- groupConv.showGroupMessage("sys", "you joined")
- self.perspective.callRemote('getGroupMembers', name)
-
- def _cbGroupLeft(self, result, name):
- print 'left',name
- groupConv = self.chat.getGroupConversation(self.getGroup(name), 1)
- groupConv.showGroupMessage("sys", "you left")
-
- def connected(self, perspective):
- print 'Connected Words Client!', perspective
- if self._logonDeferred is not None:
- self._logonDeferred.callback(self)
- self.perspective = perspective
- self.chat.getContactsList()
-
-
-pbFrontEnds = {
- "twisted.words": TwistedWordsClient,
- "twisted.reality": None
- }
-
-
-class PBAccount(basesupport.AbstractAccount):
- implements(interfaces.IAccount)
- gatewayType = "PB"
- _groupFactory = TwistedWordsGroup
- _personFactory = TwistedWordsPerson
-
- def __init__(self, accountName, autoLogin, username, password, host, port,
- services=None):
- """
- @param username: The name of your PB Identity.
- @type username: string
- """
- basesupport.AbstractAccount.__init__(self, accountName, autoLogin,
- username, password, host, port)
- self.services = []
- if not services:
- services = [('twisted.words', 'twisted.words', username)]
- for serviceType, serviceName, perspectiveName in services:
- self.services.append([pbFrontEnds[serviceType], serviceName,
- perspectiveName])
-
- def logOn(self, chatui):
- """
- @returns: this breaks with L{interfaces.IAccount}
- @returntype: DeferredList of L{interfaces.IClient}s
- """
- # Overriding basesupport's implementation on account of the
- # fact that _startLogOn tends to return a deferredList rather
- # than a simple Deferred, and we need to do registerAccountClient.
- if (not self._isConnecting) and (not self._isOnline):
- self._isConnecting = 1
- d = self._startLogOn(chatui)
- d.addErrback(self._loginFailed)
- def registerMany(results):
- for success, result in results:
- if success:
- chatui.registerAccountClient(result)
- self._cb_logOn(result)
- else:
- log.err(result)
- d.addCallback(registerMany)
- return d
- else:
- raise error.ConnectionError("Connection in progress")
-
-
- def _startLogOn(self, chatui):
- print 'Connecting...',
- d = pb.getObjectAt(self.host, self.port)
- d.addCallbacks(self._cbConnected, self._ebConnected,
- callbackArgs=(chatui,))
- return d
-
- def _cbConnected(self, root, chatui):
- print 'Connected!'
- print 'Identifying...',
- d = pb.authIdentity(root, self.username, self.password)
- d.addCallbacks(self._cbIdent, self._ebConnected,
- callbackArgs=(chatui,))
- return d
-
- def _cbIdent(self, ident, chatui):
- if not ident:
- print 'falsely identified.'
- return self._ebConnected(Failure(Exception("username or password incorrect")))
- print 'Identified!'
- dl = []
- for handlerClass, sname, pname in self.services:
- d = defer.Deferred()
- dl.append(d)
- handler = handlerClass(self, sname, pname, chatui, d)
- ident.callRemote('attach', sname, pname, handler).addCallback(handler.connected)
- return defer.DeferredList(dl)
-
- def _ebConnected(self, error):
- print 'Not connected.'
- return error
-
« no previous file with comments | « third_party/twisted_8_1/twisted/words/im/locals.py ('k') | third_party/twisted_8_1/twisted/words/im/proxyui.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698