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, 10 years ago (diff)

Changed the cows imports to reflect the new class positions.

Line 
1import logging
2
3import cowsserver.lib.base as base
4
5from cowsserver.lib.base import csTemplateLoader , globalCSMLConnector, c
6import operator
7
8
9log = logging.getLogger(__name__)
10
11class CatalogueController(base.BaseController):
12    """
13    List available endpoints.
14    """
15
16    def index(self):
17       
18        log.debug("starting catalog index action")
19       
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())
25       
26       
27        log.debug("globalCSMLConnector.list() = %s" % ([x for x in globalCSMLConnector.list()],))
28       
29        for fc in globalCSMLConnector.list():
30           
31            if globalCSMLConnector.isGroup(fc):
32                fc_name = fc
33            else:
34                doc = globalCSMLConnector.getCsmlDoc(fc)
35               
36                if hasattr(doc, 'name'):
37                    fc_name = doc.name.CONTENT
38                else:
39                    fc_name = fc
40               
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.