Changeset 5501


Ignore:
Timestamp:
21/07/09 14:07:10 (10 years ago)
Author:
pnorton
Message:

Modified the capabilities response so that MetadataURL tags are included if they are found on the .metadataURLs attribute of the layer.

Location:
cows/branches/cows_qesdi
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cows/branches/cows_qesdi

    • Property svn:ignore set to
      .project
      .pydevproject
      cows.egg-info
  • cows/branches/cows_qesdi/cows/model/wms.py

    r5174 r5501  
    4646    """ 
    4747    def __init__(self, CRSs=[], styles=[''], dimensions={}, attribution=None, authorityURLs=[], 
    48                  dataURLs=[], featureListURLs=[], 
     48                 dataURLs=[], featureListURLs=[], metadataURLs=[], 
    4949                 minScaleDenominator=None, maxScaleDenominator=None, 
    5050                 queryable=False, **kw): 
     
    6161        self.maxScaleDenominator = maxScaleDenominator 
    6262        self.queryable = queryable 
     63        self.metadataURLs = metadataURLs 
    6364 
    6465class Style(object): 
     
    149150        self.width = width 
    150151        self.height = height 
    151          
     152 
     153class MetadataURL(FormattedURL): 
     154    """ 
     155    @ivar metadataType 
     156    @type metadataType: None or str 
     157    """ 
     158    def __init__(self, metadataType=None, **kw): 
     159        super(MetadataURL, self).__init__(**kw) 
     160        self.type = metadataType 
     161 
    152162# 
    153163#!TODO: Other objects referenced by WmsDatasetSummary 
  • cows/branches/cows_qesdi/cows/pylons/templates/wms_capabilities_1_3_0.xml

    r5493 r5501  
    3939 
    4040 
     41<?python 
     42 
     43    def showAtt(obj, attname): 
     44        if not hasattr(obj,attname) or getattr(obj, attname) == None: 
     45            return '' 
     46             
     47        return getattr(obj, attname) 
     48          
     49 
     50?> 
     51 
    4152    <py:def function="markupLegendURL(l)"> 
    4253      <LegendURL width="${l.width}" height="${l.height}"> 
     
    5667      </Style> 
    5768    </py:def> 
     69     
     70    <py:def function="markupMetadataURL(l)"> 
     71      <MetadataURL type="${showAtt(l, 'type')}" > 
     72         <Format>${l.format}</Format> 
     73         <OnlineResource xlink:type="simple" xlink:href="${l.onlineResource.href}"/> 
     74      </MetadataURL> 
     75    </py:def>     
    5876 
    5977  <Layer py:def="markupLayer(ds)" queryable="${int(ds.queryable)}"> 
     
    118136 
    119137    </py:choose> 
     138     
     139    <py:if test="len(ds.metadataURLs) > 0"> 
     140        <py:for each="url in ds.metadataURLs"> 
     141            ${markupMetadataURL(url)} 
     142        </py:for> 
     143    </py:if> 
    120144 
    121145 
  • cows/branches/cows_qesdi/cows/pylons/wms_controller.py

    r5493 r5501  
    152152                dataURLs=[] 
    153153                 
    154                  
     154             
     155             
     156             
    155157            if hasattr(layer, 'styles'): 
    156158                styles = layer.styles 
    157159            else: 
    158160                styles = [''] 
    159                  
     161             
     162            if hasattr(layer, 'metadataURLs'): 
     163                metadataURLs = layer.metadataURLs 
     164            else: 
     165                metadataURLs = [] 
     166             
    160167            # Create the cows object 
    161168            ds = WmsDatasetSummary(identifier=layerName, 
     
    168175                                   queryable=queryable, 
    169176                                   dataURLs=dataURLs, 
    170                                    styles=styles) 
     177                                   styles=styles, 
     178                                   metadataURLs=metadataURLs) 
    171179 
    172180            # Stuff that should go in the capabilities tree eventually 
Note: See TracChangeset for help on using the changeset viewer.