Changeset 412

Show
Ignore:
Timestamp:
01/22/03 00:52:10 (6 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBTelepathy/RBTelepathy/Connection.py

    r408 r412  
    2424#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2525 
     26import logging 
    2627import ErrorTypes 
    2728 
     
    3031#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3132 
    32 #class PacketDispatch(object): 
    3333class Connection(object): 
    3434    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    3636    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3737 
    38     __slots__ = ('RoutedPacketHandlers', 'StreamPacketHandlers') 
    39     log = logging.getLogger('.'.join((__name__, 'Connection'))) 
     38    log = logging.getLogger('Connection') 
     39    RoutedPacketHandlers = {} 
     40    StreamPacketHandlers = {} 
    4041 
    4142    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4445 
    4546    def __init__(self): 
    46         self.RoutedPacketHandlers = {} 
    47         self.StreamPacketHandlers = {} 
     47        self.RoutedPacketHandlers = self.RoutedPacketHandlers.copy() 
     48        self.StreamPacketHandlers = self.StreamPacketHandlers.copy() 
     49 
     50    def SendPacket(self, *args, **kw): 
     51        self.protocol.SendPacket(*args, **kw) 
    4852 
    4953    def OnRoutedPacket(self, packet, *args, **kw): 
    50         self.log.debug('Received Routed packet (%s, %s)', (packet.__namespace__, packet.__node__)
     54        self.log.debug('Received Routed packet (%s, %s)', packet.__namespace__, packet.__node__
    5155 
    5256        # Lookup our packet handler 
     
    6266 
    6367    def OnStreamPacket(self, packet, *args, **kw): 
    64         self.log.debug('Received Stream packet (%s, %s)', (packet.__namespace__, packet.__node__)
     68        self.log.debug('Received Stream packet (%s, %s)', packet.__namespace__, packet.__node__
    6569 
    6670        # Lookup our packet handler 
     
    7579        return packethandler.OnStreamPacket(self, packet, *args, **kw) 
    7680 
    77     # XXX: OLD CODE 
    78     ##def OnRoutedPacket(self, packet, addresses): 
    79     ##    # Copy the root level packet, so we can adjust it's addresses 
    80     ##    packet = copy.copy(packet) 
    81     ##    # Change the address lists in the packet 
    82     ##    packet.SetAddresses(addresses) 
    83     ##    self.log.debug('Sending routed packet to protocol') 
    84     ##    # Send the packet to the stream protocol 
    85     ##    self.protocol.SendPacket(packet) 
     81#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    8682 
    87     ##def GetRouter(self): 
    88     ##    try: return self.router 
    89     ##    except AttributeError: 
    90     ##        raise AttributeError, '%s has no connection to the router' % (self.__class__.__name__, ) 
     83class ServerConnection(Connection): 
     84    # TODO: 
     85    #     Load Packet.ErrorHandler 
     86    #     Load Packet.AuthenticationHandler for Server Connection 
     87    #  
     88    # TODO On Authenticated: 
     89    #     Load Packet.ConfigureHandler for Server Connection 
     90    #     Load Packet.MessageHandler for Server Connection 
     91    #  
     92    # This process should be controllable by an xml loader 
    9193 
    92     ##def _PKT__message(self, packet): 
    93     ##    # TODO: Flush out 
    94     ##    #fromlist = packet.GetAddresses('from') 
    95     ##    #if fromlist:  
    96     ##    #    raise ValueError, '"from" element not allowed on a user connection' 
    97     ##    tolist = packet.GetAddresses('to') 
    98     ##    self.log.info('Sending "%s" packet to Router', packet.__node__) 
    99     ##    routecommands = self.GetRouter().RoutePacket(packet, tolist) 
    100     ##    if routecommands: 
    101     ##        self.log.debug('Sending routed packet "%s" to destination', packet.__node__) 
    102     ##        return [routecmd() for routecmd in routecommands] 
    103     ##    else: return () 
     94    def OnAuthenticated(self, succeeded): 
     95        if succeeded: 
     96            self.log.info('Successful authentication from client') 
     97        else: 
     98            self.log.warn('Failed authentication from client') 
    10499 
     100#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     101 
     102class ClientConnection(Connection): 
     103    # TODO: 
     104    #     Load Packet.ErrorHandler 
     105    #     Load Packet.AuthenticationHandler for Client Connection 
     106    #  
     107    # This process should be controllable by an xml loader 
     108 
     109    def OnAuthenticated(self, succeeded): 
     110        if succeeded: 
     111            self.log.info('Successfully authenticated to server') 
     112        else: 
     113            self.log.warn('Failed authentication to server') 
     114 
  • trunk/RBTelepathy/RBTelepathy/ErrorTypes.py

    r408 r412  
    5050    def __init__(self, message, **kw): 
    5151        self.message = message 
    52         for name, value in kw.iteritems
     52        for name, value in kw.iteritems()
    5353            setattr(self, name, value) 
    5454 
     
    7070 
    7171    def _get_errortype(self): 
    72         return getattr(self.__class__.__name__) 
     72        return self.__class__.__name__ 
    7373    errortype = property(_get_errortype) 
    7474 
  • trunk/RBTelepathy/RBTelepathy/Packet/Builder.py

    r411 r412  
    2626import weakref 
    2727from RBFoundation.XMLClassBuilder import XMLClassBuilder  
     28from RBFoundation.XMLClassBuilder import ElementFactory as EF 
    2829 
    2930#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBTelepathy/RBTelepathy/Packet/Elements.py

    r410 r412  
    2626from RBFoundation.XMLBuilder import XMLBuilderObjectBase 
    2727from RBFoundation.XMLClassBuilder import XMLClassBuilderObjectMixin 
    28 from RBFoundation.XMLObjectify import BaseObjectifiedXML, ObjectifiedXML 
     28from RBFoundation.XMLObjectify import BaseObjectifiedXML, AttributedObjectifiedXML, ObjectifiedXML 
    2929import URIAddress 
    3030 
     
    5151#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5252 
     53class PacketChildElement(PacketElementBase, AttributedObjectifiedXML): 
     54    pass 
     55 
     56#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     57 
    5358class RootElementBase(PacketElementBase): 
    5459    def OnStreamData(self, data, OnPacketComplete=None): 
     
    6570#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    6671 
    67 class StreamRootElement(PacketElementBase): 
     72class StreamRootElement(RootElementBase): 
    6873    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    6974    #~ OnStreamData adaptor 
     
    98103#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    99104 
    100 class RouteableRootElement(PacketElementBase): 
     105class RouteableRootElement(RootElementBase): 
    101106    def GetAddresses(self, nodename='to'): 
    102107        existing = self._getElements(node=nodename, namespace=self.__namespace__) 
     
    131136#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    132137 
    133 class URIAddressElement(PacketElementBase): 
     138class URIAddressElement(RootElementBase): 
    134139    def OnUpdateContent(self): 
    135         PacketElementBase.OnUpdateContent(self) 
     140        RootElementBase.OnUpdateContent(self) 
    136141        if self._addr is None: 
    137142            try: del self._attributes['addr'] 
  • trunk/RBTelepathy/RBTelepathy/Packet/StreamElements.py

    r409 r412  
    2424#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2525 
    26 from XMLMessageElements import PacketElementBase 
     26from RBMElements import PacketElementBase 
    2727 
    2828#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBTelepathy/RBTelepathy/Packet/__init__.py

    r411 r412  
    2424#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2525 
    26 import XMLBuilder as _XMLBuilder 
     26import RBMBuilder as _RBMBuilder 
    2727 
    2828#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    3030#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3131 
    32 StandardStreamPacketBuilder = _XMLBuilder.StreamPacketBuilder 
    33 RBMessagingNamespace = _XMLBuilder.RBMessagingNamespace 
    34 DefaultNamespace = _XMLBuilder.RBNamespaceSynonyms[None] 
    35 Namespace = _XMLBuilder.RBMessagingNamespace 
     32StandardStreamPacketBuilder = _RBMBuilder.StreamPacketBuilder 
     33RBMessagingNamespace = _RBMBuilder.RBMessagingNamespace 
     34DefaultNamespace = _RBMBuilder.RBNamespaceSynonyms[None] 
     35Namespace = _RBMBuilder.RBMessagingNamespace 
    3636 
    37 #class RootMessage(XMLMessageElements.Message, XMLClassBuilder.XMLClassBuilderBaseMixin): 
    38 #    NamespaceSynonyms = StandardNamespaceSynonyms 
    39 #    DefaultNamespace = NamespaceSynonyms[None] 
    40 #    ElementFactories = XMLClassBuilder.ElementFactorySet({ 
    41 #            (RBMessagingNamespace, 'stream'): XMLStreamElements.StreamFormatFactory(), 
    42 #            (RBMessagingNamespace, 'to'): EF.Static(XMLMessageElements.URIAddressElement), 
    43 #            (RBMessagingNamespace, 'from'): EF.Static(XMLMessageElements.URIAddressElement), 
    44 #            #(RBMessagingNamespace, ): ChildELementErrorFactory(), 
    45 #            None: EF.Static(ObjectifiedXML), 
    46 #        }) 
    47  
    48 #    def _xmlChildFactory(self, owner, parent, node, attributes, namespacemap): 
    49 #        return self.ElementFactorySet._GetElementFactory(owner, parent, node, attributes, namespacemap) 
    50  
  • trunk/RBTelepathy/RBTelepathy/Stream/Protocol.py

    r408 r412  
    4444    currentpacket = None 
    4545    packetbuilder = None 
    46     log = logging.getLogger('.'.join((__name__, 'StreamProtocol'))
     46    log = logging.getLogger('StreamProtocol'
    4747 
    4848    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    6262            streamdata = ''.join((packet.GetStreamHeader(), self.delimiter, packet.GetStreamData())) 
    6363        self.stream.write(streamdata) 
     64    SendPacket = OnPacket 
    6465 
    6566    def OnRecvStreamData(self, streamdata): 
     
    104105                errortext = xmlescape(error.message) 
    105106                errortype = 'type=%s' % (xmlquoteattr(error.errortype),) 
     107 
    106108                self.stream.write('''<error xmlns='%s' %s>%s</error>%s''' % (namespace, errortype, errortext, self.delimiter)) 
    107109 
  • trunk/RBTelepathy/RBTelepathy/Stream/SocketAdaptor.py

    r408 r412  
    4141    _sendData = "" 
    4242    isshutdown = False 
    43     log = logging.getLogger('.'.join((__name__, 'SocketStream'))
     43    log = logging.getLogger('SocketStream'
    4444 
    4545    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~