source: cowsserver/trunk/lib/cowsserver/controllers/catalogue.py @ 6395

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/cowsserver/trunk/lib/cowsserver/controllers/catalogue.py@6395
Revision 6395, 1.5 KB checked in by pnorton, 11 years ago (diff)

Changed the cows imports to reflect the new class positions.

RevLine 
[5403]1import logging
2
[6071]3import cowsserver.lib.base as base
[5403]4
[6097]5from cowsserver.lib.base import csTemplateLoader , globalCSMLConnector, c
6import operator
7
8
[5403]9log = logging.getLogger(__name__)
10
[6041]11class CatalogueController(base.BaseController):
[5403]12    """
[6097]13    List available endpoints.
14    """
[5403]15
16    def index(self):
[6041]17       
[6395]18        log.debug("starting catalog index action")
19       
[6097]20        c.allwxs=[]
21        c.wfsonly=[]
22
23        #need to handle wfs only features separately so sort into two lists
24        listwfsonly = list(globalCSMLConnector.listwfsonly())
[6041]25       
[6395]26       
27        log.debug("globalCSMLConnector.list() = %s" % ([x for x in globalCSMLConnector.list()],))
28       
[6097]29        for fc in globalCSMLConnector.list():
30           
[6395]31            if globalCSMLConnector.isGroup(fc):
32                fc_name = fc
[6097]33            else:
[6395]34                doc = globalCSMLConnector.getCsmlDoc(fc)
35               
36                if hasattr(doc, 'name'):
37                    fc_name = doc.name.CONTENT
38                else:
39                    fc_name = fc
40               
[6097]41            if fc in listwfsonly:
42                c.wfsonly.append((fc, fc_name) )
43            else:
44                c.allwxs.append((fc, fc_name) )
45       
46       
47        def sortCFByName(a, b):
48            return cmp(a[1].lower(), b[1].lower())
49       
50        c.allwxs.sort(cmp=sortCFByName)
51       
52        c.wfsonly.sort(cmp=sortCFByName)
53               
54        t = csTemplateLoader.load('catalogue.xml')
55       
56        return t.generate(c=c).render()
Note: See TracBrowser for help on using the repository browser.