Changeset 5997


Ignore:
Timestamp:
11/11/09 15:07:25 (10 years ago)
Author:
sdonegan
Message:

Updated dif model with extra functions to support milk_server discovery view operations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ndgCommon/trunk/ndg/common/src/models/DIF.py

    r5917 r5997  
    176176        #an empty element sends something back, we don't want that: 
    177177        self.personnel=[DIFcontact(helper,f) for f in helper.findall(self.tree,'Personnel')] 
     178         
    178179        #services 
     180         
     181        #need to distinguish between "normal" services and OGC type services as now handled differently in the discovery view page 
     182        #restrict self.services to everything apart from ACTUAL ogc service types 
    179183        self.services=[] 
     184        self.OGCservices=[] 
    180185         
    181186        # not all DIFs have KML resource available - set default value 
     
    184189        self.wmcURL = [] 
    185190        self.serviceCounter = 0 
     191        self.wmsServiceCounter = 0 
     192        self.wcsServiceCounter = 0 
     193        self.wfsServiceCounter = 0 
     194        self.visServiceCounter = 0 
     195         
    186196        for item in helper.findall(self.tree,'Related_URL'): 
    187197            contentType=helper.getText(item,'URL_Content_Type') 
    188198            serviceURL=helper.cleanup.undo(helper.getText(item,'URL')) 
    189             self.services.append( 
    190                 DIFService( 
    191                  contentType, 
    192                  serviceURL, 
    193                  helper.getText(item,'Description') )) 
     199             
     200            #do the differentiation here between normal services and ogc type services 
     201            if 'GET SERVICE' in contentType: 
     202                 
     203                if 'WEB MAP SERVICE' in contentType: 
     204                    self.wmsServiceCounter = self.wmsServiceCounter + 1 
     205                     
     206                if 'WEB COVERAGE SERVICE' in contentType: 
     207                    self.wcsServiceCounter = self.wcsServiceCounter + 1 
     208                     
     209                if 'WEB FEATURE SERVICE' in contentType: 
     210                    self.wfsServiceCounter = self.wfsServiceCounter + 1                     
     211                     
     212                if 'ACCESS MAP VIEWER' in contentType: 
     213                    self.visServiceCounter = self.visServiceCounter + 1                     
     214                 
     215                self.OGCservices.append( 
     216                                     DIFService( 
     217                                                contentType, 
     218                                                serviceURL, 
     219                                                helper.getText(item,'Description') )) 
     220            else: 
     221                self.services.append( 
     222                                     DIFService( 
     223                                                contentType, 
     224                                                serviceURL, 
     225                                                helper.getText(item,'Description') )) 
    194226            # if there is a KML URL, encode it and add it as a field for 
    195227            # easy access to store in session data for selectedItems 
Note: See TracChangeset for help on using the changeset viewer.