Changeset 87

Show
Ignore:
Timestamp:
04/05/02 11:06:06 (6 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBFoundation/RBFoundation/XMLObjectify.py

    r85 r87  
    8282        return 
    8383         
    84     def __call__(self): 
    85         return [x[-1] for x in self._elements if not x[0][-1]] 
     84    def __call__(self, joinstr=None): 
     85        result = [x[-1] for x in self._elements if not x[0][-1]] 
     86        if joinstr is not None: 
     87            return joinstr.join(result) 
     88        return result 
    8689     
    8790    def __str__(self): 
    88         return ''.join(self()
     91        return self(''
    8992     
    9093    def __int__(self):  
     
    115118        self._elements.append(((self.__namespace__, ''), data)) 
    116119 
    117     def _toPrettyXML(self, strSplit='', nsOuter=''): 
    118         return ''.join(self._toXML(strSplit, nsOuter)) 
    119  
    120120    def _toXML(self, strSplit='', nsOuter='', bHeaderOnly=0): 
    121121        result = ['<%s ' % self.__node__] 
     
    127127        elif self._elements: 
    128128            result[-1] += '>' 
    129             result.extend(self._childrenToXML(strSplit, nsOuter)) 
     129            result.append(self._childrenToXML(strSplit, nsOuter)) 
    130130            result.append('</%s>' % self.__node__) 
    131131        else:  
    132132            result[-1] += '/>' 
    133         return result 
    134  
    135     def _childrenToPrettyXML(self, strSplit='', nsOuter=''): 
    136         return ''.join(self._childrenToXML(strSplit, nsOuter)) 
     133        if strSplit is not None: 
     134            return strSplit.join(result) 
     135        else: return result 
     136    _toPrettyXML = _toXML 
    137137 
    138138    def _childrenToXML(self, strSplit='', nsOuter=''): 
     
    142142                result.append(escape(each)) 
    143143            else: 
    144                 result.append(strSplit.join(each._toXML(strSplit, self.__namespace__))) 
    145         return result 
     144                result.append(each._toXML(strSplit, self.__namespace__)) 
     145        if strSplit is not None: 
     146            return strSplit.join(result) 
     147        else: return result 
     148    _childrenToPrettyXML = _childrenToXML 
    146149     
    147150    def _xmlInitStarted(self): 
     
    174177    print repr(obj) 
    175178    print ' ~ ' * 20 
    176     print obj._toPrettyXML(
     179    pprint (obj._toXML()
  • trunk/RBJabber/RBJabber/JID.py

    r66 r87  
    4747reJabberJID = re.compile('''(%s)@(%s)(?:/(%s))?''' % (_restrID, _restrServer, _restrResource)) 
    4848 
     49__all__ = ['reJabberURL', 'reJabberJID'] 
     50 
    4951#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5052#~ Definitions  
    5153#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5254 
    53 def JIDsplit(strJID, start=1, end=4): 
     55def split(strJID, start=1, end=4): 
    5456    return reJabberJID.split(strJID)[start:end] 
    5557 
    56 def JIDsplitnorm(strJID, start=1, end=4): 
     58def splitnorm(strJID, start=1, end=4): 
    5759    result = reJabberJID.split(strJID)[start:end] 
    5860    return [x.lower() for x in result[1-start:3-start]] + result[3-start:] 
    5961 
    60 def JIDcmp(strJIDa, strJIDb, resource=1): 
     62def cmp(strJIDa, strJIDb, resource=1): 
    6163    jida = JIDsplitnorm(strJIDa, end=3+resource) 
    6264    jidb = JIDsplitnorm(strJIDb, end=3+resource) 
    6365    return cmp(jida, jidb) 
    6466 
    65 def JIDCompare(*args, **kw): 
     67def compare(*args, **kw): 
    6668    return 0 == apply(JIDcmp, args, kw) 
    6769 
    68 def JIDjoin(*args): 
     70def join(*args): 
    6971    if isinstance(args[0], (tuple, list)): 
    7072        args = tuple(args[0]) 
     
    7577    else: return '' 
    7678 
    77 def JIDnormalize(strJID): 
     79def normalize(strJID): 
    7880    return JIDjoin(JIDsplitnorm(strJID)) 
    7981 
     82def nominal(strJID): 
     83    return JIDjoin(JIDsplitnorm(strJID, 1, 3)) 
     84 
  • trunk/RBJabber/RBJabber/JabberConnection.py

    r86 r87  
    3838from Foundation import SmartSelect 
    3939from Foundation.ContextApply import BindCallable 
    40 from JID import * 
     40import JID 
     41from JID import reJabberURL, reJabberJID 
    4142import socket 
    4243import select 
  • trunk/RBJabber/RBJabber/MessageRouter.py

    r66 r87  
    3838from Foundation.SubjectObserver.Observer import Observer 
    3939from Foundation.SubjectObserver.BidableSubject import BidableSubjectMixin  
    40 from JID import * 
     40import JID 
    4141 
    4242#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    7676class MessageRouterByFrom(MessageRouterBase): 
    7777    def _UpdateIndexXForm(self, FromJID): 
    78         return (JIDnormalize(FromJID),) 
     78        return (JID.normalize(FromJID),) 
    7979 
    8080    def _UpdateMapXForm(self, node): 
  • trunk/RBJabber/RBJabber/PresenceMap.py

    r66 r87  
    3838from Foundation.SubjectObserver.Observer import Observer 
    3939from Foundation.SubjectObserver.BidableSubject import BidableSubjectMixin 
    40 from JID import * 
     40import JID 
    4141 
    4242#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    5353    def Update(self, subject, **UpdateDict): 
    5454        presence = UpdateDict.get('presence', None) 
    55         FromJID = JIDsplit(presence.from_) 
     55        FromJID = JID.split(presence.from_) 
    5656        if FromJID: 
    57             self.ByJID[JIDjoin(FromJID)] = presence 
    58             self.ByResource.setdefault(JIDjoin(FromJID[:2]),{})[FromJID[-1]] = presence 
     57            self.ByJID[JID.join(FromJID)] = presence 
     58            self.ByResource.setdefault(JID.join(FromJID[:2]),{})[FromJID[-1]] = presence 
    5959            self.UpdateObservers(PresenceFrom=FromJID) 
    6060 
     
    7979 
    8080    def _UpdateIndexXForm(self, FromJID): 
    81         FromJID = JIDsplitnorm(FromJID) 
    82         return (JIDjoin(FromJID), JIDjoin(FromJID)[:-1]) 
     81        FromJID = JID.splitnorm(FromJID) 
     82        return (JID.join(FromJID), JID.join(FromJID)[:-1]) 
    8383 
    8484    def _UpdateMapXForm(self, node): 
  • trunk/RBJabber/RBJabber/iqQuery.py

    r86 r87  
    4040from Foundation.SubjectObserver.Observer import Observer 
    4141from xml.sax.saxutils import escape, quoteattr 
     42import JID 
    4243  
    4344#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4647 
    4748class iqQueryBase: 
    48     def __init__(self, JabberClient): 
     49    def __init__(self, JabberClient, BidValue=1): 
     50        self.BidValue = BidValue 
    4951        self.JC = weakref.ref(JabberClient) 
    5052        self._observer = Observer(self.Update, self.Bid) 
     
    5860            if bMatch: bMatch = iq.type in ['result', 'error'] 
    5961            # and a it matches the jid we sent it to 
    60             if bMatch: bMatch = (not self.jidQuery or iq.from_ == self.jidQuery
     62            if bMatch: bMatch = (not self.jidQuery or JID.compare(iq.from_, self.jidQuery)
    6163            # and the query result namespace is the same 
    6264            # if bMatch: bMatch = [q for q in iq._elements if q[0][0] == self.nsQuery] and 1 or 0 
    6365            # then we have a match 
    64             return bMatch and 1 or 0 
     66            return bMatch and self.BidValue or 0 
    6567        return 0 
    6668     
  • trunk/RBJabber/RBJabber/iqRosterQuery.py

    r86 r87  
    3939from Foundation.SubjectObserver.Observer import Observer 
    4040from iqQuery import iqQueryBase, Subject 
    41 from JID import *  
     41import JID  
    4242 
    4343#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    6565        RosterItems = getattr(iq.query[0], 'item', []) 
    6666        for each in RosterItems: 
    67             self.ByJID[JIDjoin(JIDsplit(each.jid)[:2])] = each 
     67            self.ByJID[JID.join(JID.split(each.jid)[:2])] = each 
    6868        if RosterItems: 
    6969            self.UpdateObservers(Roster=self.ByJID) 
    7070 
    7171    def Get(self, JID, default=None): 
    72         return self.ByJID.get(JIDjoin(JIDsplit(JID)[:2]), default) 
     72        return self.ByJID.get(JID.join(JID.split(JID)[:2]), default) 
    7373