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

Unified Diff: third_party/twisted_8_1/twisted/words/protocols/jabber/jid.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/protocols/jabber/jid.py
diff --git a/third_party/twisted_8_1/twisted/words/protocols/jabber/jid.py b/third_party/twisted_8_1/twisted/words/protocols/jabber/jid.py
deleted file mode 100644
index 2604685c6f4134693c9b659cfbd87e8bd66bd660..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/words/protocols/jabber/jid.py
+++ /dev/null
@@ -1,249 +0,0 @@
-# -*- test-case-name: twisted.words.test.test_jabberjid -*-
-#
-# Copyright (c) 2001-2008 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-"""
-Jabber Identifier support.
-
-This module provides an object to represent Jabber Identifiers (JIDs) and
-parse string representations into them with proper checking for illegal
-characters, case folding and canonicalisation through L{stringprep<twisted.words.protocols.jabber.xmpp_stringprep>}.
-"""
-
-from twisted.words.protocols.jabber.xmpp_stringprep import nodeprep, resourceprep, nameprep
-
-class InvalidFormat(Exception):
- """
- The given string could not be parsed into a valid Jabber Identifier (JID).
- """
-
-def parse(jidstring):
- """
- Parse given JID string into its respective parts and apply stringprep.
-
- @param jidstring: string representation of a JID.
- @type jidstring: C{unicode}
- @return: tuple of (user, host, resource), each of type C{unicode} as
- the parsed and stringprep'd parts of the given JID. If the
- given string did not have a user or resource part, the respective
- field in the tuple will hold C{None}.
- @rtype: C{tuple}
- """
- user = None
- host = None
- resource = None
-
- # Search for delimiters
- user_sep = jidstring.find("@")
- res_sep = jidstring.find("/")
-
- if user_sep == -1:
- if res_sep == -1:
- # host
- host = jidstring
- else:
- # host/resource
- host = jidstring[0:res_sep]
- resource = jidstring[res_sep + 1:] or None
- else:
- if res_sep == -1:
- # user@host
- user = jidstring[0:user_sep] or None
- host = jidstring[user_sep + 1:]
- else:
- if user_sep < res_sep:
- # user@host/resource
- user = jidstring[0:user_sep] or None
- host = jidstring[user_sep + 1:user_sep + (res_sep - user_sep)]
- resource = jidstring[res_sep + 1:] or None
- else:
- # host/resource (with an @ in resource)
- host = jidstring[0:res_sep]
- resource = jidstring[res_sep + 1:] or None
-
- return prep(user, host, resource)
-
-def prep(user, host, resource):
- """
- Perform stringprep on all JID fragments.
-
- @param user: The user part of the JID.
- @type user: C{unicode}
- @param host: The host part of the JID.
- @type host: C{unicode}
- @param resource: The resource part of the JID.
- @type resource: C{unicode}
- @return: The given parts with stringprep applied.
- @rtype: C{tuple}
- """
-
- if user:
- try:
- user = nodeprep.prepare(unicode(user))
- except UnicodeError:
- raise InvalidFormat, "Invalid character in username"
- else:
- user = None
-
- if not host:
- raise InvalidFormat, "Server address required."
- else:
- try:
- host = nameprep.prepare(unicode(host))
- except UnicodeError:
- raise InvalidFormat, "Invalid character in hostname"
-
- if resource:
- try:
- resource = resourceprep.prepare(unicode(resource))
- except UnicodeError:
- raise InvalidFormat, "Invalid character in resource"
- else:
- resource = None
-
- return (user, host, resource)
-
-__internJIDs = {}
-
-def internJID(jidstring):
- """
- Return interned JID.
-
- @rtype: L{JID}
- """
-
- if jidstring in __internJIDs:
- return __internJIDs[jidstring]
- else:
- j = JID(jidstring)
- __internJIDs[jidstring] = j
- return j
-
-class JID(object):
- """
- Represents a stringprep'd Jabber ID.
-
- JID objects are hashable so they can be used in sets and as keys in
- dictionaries.
- """
-
- def __init__(self, str=None, tuple=None):
- if not (str or tuple):
- raise RuntimeError("You must provide a value for either 'str' or "
- "'tuple' arguments.")
-
- if str:
- user, host, res = parse(str)
- else:
- user, host, res = prep(*tuple)
-
- self.user = user
- self.host = host
- self.resource = res
-
- def userhost(self):
- """
- Extract the bare JID as a unicode string.
-
- A bare JID does not have a resource part, so this returns either
- C{user@host} or just C{host}.
-
- @rtype: C{unicode}
- """
- if self.user:
- return u"%s@%s" % (self.user, self.host)
- else:
- return self.host
-
- def userhostJID(self):
- """
- Extract the bare JID.
-
- A bare JID does not have a resource part, so this returns a
- L{JID} object representing either C{user@host} or just C{host}.
-
- If the object this method is called upon doesn't have a resource
- set, it will return itself. Otherwise, the bare JID object will
- be created, interned using L{internJID}.
-
- @rtype: L{JID}
- """
- if self.resource:
- return internJID(self.userhost())
- else:
- return self
-
- def full(self):
- """
- Return the string representation of this JID.
-
- @rtype: C{unicode}
- """
- if self.user:
- if self.resource:
- return u"%s@%s/%s" % (self.user, self.host, self.resource)
- else:
- return u"%s@%s" % (self.user, self.host)
- else:
- if self.resource:
- return u"%s/%s" % (self.host, self.resource)
- else:
- return self.host
-
- def __eq__(self, other):
- """
- Equality comparison.
-
- L{JID}s compare equal if their user, host and resource parts all
- compare equal. When comparing against instances of other types, it
- uses the default comparison.
- """
- if isinstance(other, JID):
- return (self.user == other.user and
- self.host == other.host and
- self.resource == other.resource)
- else:
- return NotImplemented
-
- def __ne__(self, other):
- """
- Inequality comparison.
-
- This negates L{__eq__} for comparison with JIDs and uses the default
- comparison for other types.
- """
- result = self.__eq__(other)
- if result is NotImplemented:
- return result
- else:
- return not result
-
- def __hash__(self):
- """
- Calculate hash.
-
- L{JID}s with identical constituent user, host and resource parts have
- equal hash values. In combination with the comparison defined on JIDs,
- this allows for using L{JID}s in sets and as dictionary keys.
- """
- return hash((self.user, self.host, self.resource))
-
- def __unicode__(self):
- """
- Get unicode representation.
-
- Return the string representation of this JID as a unicode string.
- @see: L{full}
- """
-
- return self.full()
-
- def __repr__(self):
- """
- Get object representation.
-
- Returns a string that would create a new JID object that compares equal
- to this one.
- """
- return 'JID(%r)' % self.full()

Powered by Google App Engine
This is Rietveld 408576698