Changeset 5756


Ignore:
Timestamp:
23/09/09 16:34:54 (10 years ago)
Author:
domlowe
Message:

modified catalogue controller and template to allow for wfs only service endpoints. Add wfsonly.txt to csmlstore directory to use

Location:
cows/trunk/cows
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • cows/trunk/cows/pylons/project_templates/cows_server/+package+/controllers/catalogue.py_tmpl

    r4952 r5756  
    1111    def index(self): 
    1212        c.featureCollections = globalCSMLConnector.list() 
    13  
     13                c.wfsonly=globalCSMLConnector.listwfsonly() 
    1414        t = templateLoader.load('catalogue.xml') 
    1515        return t.generate(c=c).render() 
  • cows/trunk/cows/pylons/templates/catalogue.xml

    r5629 r5756  
    1212else: 
    1313        cowsclient = False       
     14 
     15#need to handle wfs only features separately so sort into two lists 
     16wfsonly=list(c.wfsonly) 
     17allwxs=[] 
     18 
     19#for fc in c.wfsonly: 
     20        #wfsonly.append(fc)      
     21                 
     22for fc in c.featureCollections: 
     23        if fc not in wfsonly: 
     24                allwxs.append(fc) 
     25                    
    1426?> 
    1527<html xmlns:py="http://genshi.edgewall.org/" 
     
    2234  <body> 
    2335    <h1>COWS Server Catalogue</h1> 
    24  
    25     <h3>Datasets available</h3> 
    26            
    27  
    28            
    29         <ul  py:for="fc in c.featureCollections"> 
     36   
     37        <ul  py:for="fc in allwxs"> 
    3038      <li py:if="cowsclient==True">${fc} 
    3139        [<a href="${url_for(controller='csmlwms', fileoruri=fc, id=None, 
     
    5563      </li>      
    5664    </ul> 
    57            
     65        <ul  py:for="fc in wfsonly"> 
     66      <li >${fc} 
     67            [<a href="${url_for(controller='csmlwfs', fileoruri=fc, id=None,  
     68                            request='GetCapabilities', service='WFS')}" 
     69                            >WFS</a>] 
     70      </li>  
     71        </ul> 
    5872  </body> 
    5973</html> 
  • cows/trunk/cows/service/imps/csmlbackend/csmlcommon.py

    r4972 r5756  
    147147                    relpath = dirpath[len(self.csml_dir):] 
    148148                    yield os.path.join(relpath, file_id) 
     149                     
     150    def listwfsonly(self): 
     151            """ 
     152        Generator that lists all CSML endpoints that can't be served through WMS/WCS. 
     153        This list is (optionally)   defined in the wfsonly.txt file in the csml directory. 
     154            """ 
     155            cfgfile = os.path.join(self.csml_dir, 'wfsonly.txt') 
     156            if os.path.exists(cfgfile): 
     157                f=open(cfgfile, 'r') 
     158                for line in f: 
     159                    yield line.strip('\n') 
     160                f.close() 
     161            else: 
     162                return 
     163                 
     164                 
    149165 
    150166# 
Note: See TracChangeset for help on using the changeset viewer.