Changeset 7862 for TI12-security


Ignore:
Timestamp:
31/01/11 13:52:20 (8 years ago)
Author:
pjkersha
Message:

0.5.3

Minor fix to pretty print elementtree utility.

Location:
TI12-security/trunk/ndg_saml
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/ndg_saml/ndg/saml/saml2/binding/soap/server/wsgi/queryinterface.py

    r7694 r7862  
    360360     
    361361        # Ignore non-matching path 
    362         if environ['PATH_INFO'] not in (self.mountPath,  
    363                                         self.mountPath + '/'): 
     362        if environ['PATH_INFO'] not in (self.mountPath, self.mountPath + '/'): 
    364363            return self._app(environ, start_response) 
    365364           
  • TI12-security/trunk/ndg_saml/ndg/saml/xml/etree.py

    r7673 r7862  
    16011601            if attributeValue is None: 
    16021602                raise XMLTypeParseError('No "%s" attribute found in "%s" ' 
    1603                                           'element' % 
    1604                                          (attributeName, 
    1605                                           Response.DEFAULT_ELEMENT_LOCAL_NAME)) 
     1603                                        'element' % 
     1604                                        (attributeName, 
     1605                                         Response.DEFAULT_ELEMENT_LOCAL_NAME)) 
    16061606                 
    16071607            attributeValues.append(attributeValue) 
  • TI12-security/trunk/ndg_saml/ndg/soap/client.py

    r7560 r7862  
    251251        soapRequestStr = soapRequest.envelope.serialize() 
    252252 
    253         if log.getEffectiveLevel() <= logging.DEBUG: 
     253        logLevel = log.getEffectiveLevel() 
     254        if logLevel <= logging.DEBUG: 
    254255            from ndg.soap.utils.etree import prettyPrint 
    255256            log.debug("SOAP Request:") 
     
    293294                                 "request to [%s]: %s" 
    294295                                 % (type(e), soapRequest.url, e)) 
     296         
     297        if logLevel <= logging.DEBUG: 
     298            from ndg.soap.utils.etree import prettyPrint 
     299            log.debug("SOAP Response:") 
     300            log.debug("_"*80) 
     301            log.debug(prettyPrint(soapResponse.envelope.elem)) 
    295302             
    296303        return soapResponse 
  • TI12-security/trunk/ndg_saml/ndg/soap/utils/etree.py

    r7560 r7862  
    111111 
    112112class _PrettyPrint(object): 
     113    MAX_NS_TRIES = 256 
    113114    def __init__(self, declaredNss): 
    114115        self.declaredNss = declaredNss 
     
    124125            return str(elem).strip() 
    125126         
     127    def _allocNsPrefix(self, nsURI): 
     128        """Allocate a namespace prefix if one is not already set for the given 
     129        Namespace URI 
     130        """ 
     131        nsPrefix = ElementTree._namespace_map.get(nsURI) 
     132        if nsPrefix is not None: 
     133            return nsPrefix 
     134         
     135        for i in range(self.__class__.MAX_NS_TRIES): 
     136            nsPrefix = "ns%d" % i 
     137            if nsPrefix not in self.declaredNss: 
     138                ElementTree._namespace_map[nsURI] = nsPrefix 
     139                break 
     140             
     141        if nsURI not in ElementTree._namespace_map:                             
     142            raise KeyError('prettyPrint: error adding namespace ' 
     143                           '"%s" to ElementTree._namespace_map' %  
     144                           nsURI)    
     145         
     146        return nsPrefix 
     147                  
    126148    def __call__(self, elem, indent='', html=0, space=' '*4): 
    127149        '''Most of the work done in this wrapped function - wrapped so that 
     
    134156            attrNamespace = QName.getNs(attr) 
    135157            if attrNamespace: 
    136                 nsPrefix = ElementTree._namespace_map.get(attrNamespace) 
    137                 if nsPrefix is None: 
    138                     raise KeyError('prettyPrint: missing namespace "%s" for '  
    139                                    'ElementTree._namespace_map'%attrNamespace) 
     158                # Allocate a prefix 
     159                nsPrefix= self._allocNsPrefix(attrNamespace) 
    140160                 
    141161                attr = "%s:%s" % (nsPrefix, QName.getLocalPart(attr)) 
     
    150170         
    151171        namespace = QName.getNs(elem.tag) 
    152         nsPrefix = ElementTree._namespace_map.get(namespace) 
    153         if nsPrefix is None: 
    154             raise KeyError('prettyPrint: missing namespace "%s" for '  
    155                            'ElementTree._namespace_map' % namespace) 
     172        nsPrefix = self._allocNsPrefix(namespace) 
    156173             
    157174        tag = "%s:%s" % (nsPrefix, QName.getLocalPart(elem.tag)) 
  • TI12-security/trunk/ndg_saml/setup.py

    r7707 r7862  
    4040ElementTree but it can easily be extended to use other Python XML parsers. 
    4141 
     420.5.3 - fix for ndg.soap.utils.etree.prettyPrint for undeclared Nss. 
    42430.5.2 - fix for applying clock skew property in queryinterface WSGI middleware, 
    4344and various minor fixes for classfactory module and m2crytpo utilities. 
     
    5657setup( 
    5758    name =                      'ndg_saml', 
    58     version =                   '0.5.2', 
     59    version =                   '0.5.3', 
    5960    description =               ('SAML 2.0 implementation for the NERC DataGrid ' 
    6061                             'based on the Java OpenSAML library'), 
Note: See TracChangeset for help on using the changeset viewer.