Ignore:
Timestamp:
02/07/07 09:27:38 (13 years ago)
Author:
domlowe
Message:

get_csml_doc method updated to include exist access. Working with cache except cache does not respect security yet

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/csml_wcs.py

    r2674 r2677  
    3030from email import encoders 
    3131 
    32 from ows_server.controllers.status import StatusController 
    33 from ows_server.models import ndgObject,ndgRetrieve 
    34 from ows_server.controllers.retrieve import RetrieveController 
    35  
    3632class CsmlWcsController(OwsController): 
    3733    _ows_parameters = { 
     
    3935        'ExceptionFormat': make_domain(['text/xml']), 
    4036        } 
    41  
    42     def _get_csml_document(self,fileoruri): 
    43         """ 
    44         Gets a csml document from file or exist when passed a file name or uri - this should make 'get_csml_doc' obselete 
    45         """ 
    46         if string.find(fileoruri,'__NDG-A0__') == -1: 
    47             #it's a local file not an identifier 
    48             file=fileoruri 
    49             csml_dir = request.environ['paste.config']['app_conf']['csml_dir'] 
    50             path = os.path.join(csml_dir, file) 
    51             if os.path.exists(path+'.csml'): 
    52                 f = path+'.csml' 
    53             elif os.path.exists(path+'.xml'): 
    54                 f = path +'.xml' 
    55             else: 
    56                 raise ValueError("Cannot find CSML file %s" % file) 
    57              
    58             d = csml.parser.Dataset() 
    59             d.parse(f) 
    60          
    61         else: 
    62             #it's an NDG identifier, get the document from exist. 
    63             uri=fileoruri 
    64             uri='badc.nerc.ac.uk__NDG-A0__ReMryRVA'         
    65             uriN=ndgObject.ndgObject(uri) 
    66             self.cf=request.environ['ndgConfig'] 
    67             self.requestor=request.environ['REMOTE_ADDR'] 
    68             print 'session',session 
    69             if 'ndgSec' in session: 
    70                 securityTokens=session['ndgSec'] 
    71             else: securityTokens=None 
    72             print securityTokens 
    73             status,x=ndgRetrieve.ndgRetrieve( 
    74                     uriN,self.cf,requestor=self.requestor, 
    75                     securityTokens=securityTokens) 
    76             print 'output from retrieve controller: ',x         
    77             print type(x) 
    78             #TODO, need to parse this output into a csml Dataset object, d 
    79              
    80         return d 
    8137 
    8238 
     
    172128        """ 
    173129        # Populate the context object with information required by the template 
    174         c.dataset = self._get_csml_document(fileoruri) 
     130        #c.dataset = get_csml_document(fileoruri) 
    175131         
    176132        #get doc from cache or disk: 
    177         #c.dataset = csmlCache[fileoruri] 
     133        c.dataset = csmlCache[fileoruri] 
    178134        return self._renderCapabilities('ows/wcs_capabilities') 
    179135 
Note: See TracChangeset for help on using the changeset viewer.