Ignore:
Timestamp:
06/07/07 15:58:06 (12 years ago)
Author:
domlowe
Message:

describeCoverage operation added. Added name parameter to Operations class

Location:
TI05-delivery/ows_framework/trunk
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/ows_framework/trunk/ows_common/ows_common/operations_metadata.py

    r2502 r2711  
    5858    @ivar parameters 
    5959    @type parameters: dictionary of Domain objects 
    60  
     60    @ivar name 
     61    @type name: None or str 
    6162    """ 
    62     def __init__(self, get=None, post=None, constraints={}, parameters={}): 
     63    def __init__(self, get=None, post=None, constraints={}, parameters={}, name=None): 
    6364        self.get = get 
    6465        self.post = post 
    6566        self.constraints = constraints 
    6667        self.parameters = parameters 
     68        self.name=name 
    6769 
    6870class RequestMethod(OnlineResource): 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/csml_wcs.py

    r2705 r2711  
    99""" 
    1010 
    11 #NOTE, much of this is straight from WMS and needs to be overhauled. 
    1211 
    1312try: #python 2.5 
     
    120119        ds = WcsDatasetSummary(titles=['Root Dataset'], datasetSummaries=[], CRSs=['CRS:84']) 
    121120        # Add a DatasetSummary for each feature         
     121 
    122122        for f_n in c.dataset.getFeatureList():         
    123123            feature_ds = self._loadFeatureSummary(c.dataset.getFeature(f_n)) 
     
    140140         
    141141        #get doc from cache or disk: 
    142         c.dataset = interface.GetParsedCSML(fileoruri) 
     142        rstatus,c.dataset=interface.GetParsedCSML(fileoruri) 
     143        if not rstatus: raise ValueError(c.dataset)         
     144       
     145         
    143146        if type(c.dataset) is str: 
    144147            #If not a csml datset is some message from exist such as 'access denied'            
    145148            return Response(c.dataset) 
    146149        return self._renderCapabilities('ows/wcs_capabilities') 
    147  
     150     
     151    @operation 
     152    @parameter('Service', possibleValues=['WCS'], required=True) 
     153    @parameter('Version', possibleValues=['1.1.0']) 
     154    @parameter('Identifier', required=True) 
     155    @parameter('Format', possibleValues=['text/xml'], required=True)  #IS THIS MANDATORY 
     156    def DescribeCoverage(self, fileoruri, version, service, identifier): 
     157        """ 
     158        WCS DescribeCoverage operation 
     159        """ 
     160        rstatus,c.dataset=interface.GetParsedCSML(fileoruri) 
     161        if not rstatus: raise ValueError(dataset) 
     162             
     163        #TODO, handle multiple identifiers 
     164        feature = dataset.getFeature(identifier) 
     165        if feature is None: 
     166            raise OWS_E.InvalidParameterValue('Coverage not found', 'identifier') 
     167         
     168        r=render_response('wcs_DescribeCoverageResponse', format='xml') 
     169        r.headers['content-type'] = 'text/xml' 
     170        return r     
     171     
    148172     
    149173    @operation 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/lib/base.py

    r2694 r2711  
    9595                                             post=None, 
    9696                                             parameters=p, 
    97                                              constraints=c) 
     97                                             constraints=c, 
     98                                             name=op._ows_name) 
    9899         
    99100        sm.operationsMetadata = OperationsMetadata(od, constraints, parameters) 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/ows/wcs_capabilities.kid

    r2693 r2711  
    3030 
    3131  <!--! Named template definitions --> 
    32   <Operation py:def="opXML(op)"> 
     32  <Operation py:def="opXML(op)" name="${op.name}" > 
    3333    <?python formats = op.parameters.get('Format') ?> 
    3434    <Format py:if="formats is not None" 
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/templates/ows/wms_capabilities.kid

    r2570 r2711  
    3636 
    3737  <!--! Named template definitions --> 
    38   <Operation py:def="opXML(op)"> 
     38  <Operation py:def="opXML(op)" > 
    3939    <?python formats = op.parameters.get('Format') ?> 
    4040    <Format py:if="formats is not None" 
     
    134134    <!--! These fields are represented in ows_common as service constraints --> 
    135135    <?python om = sm.operationsMetadata ?> 
    136     <LayerLimit py:if="'LayerLimit' in om.constraints" 
    137                 py:content="om.constraints['LayerLimit'].possibleValues.allowedValues[0]"/> 
    138     <MaxWidth py:if="'MaximumWidth' in om.constraints" 
    139               py:content="om.constraints['MaximumWidth'].possibleValues.allowedValues[0]"/> 
    140     <MinWidth py:if="'MinimumWidth' in om.constraints" 
    141               py:content="om.constraints['MinimumWidth'].possibleValues.allowedValues[0]"/> 
     136 
    142137     
    143138    <Capability> 
Note: See TracChangeset for help on using the changeset viewer.