Changeset 5881


Ignore:
Timestamp:
23/10/09 22:11:10 (10 years ago)
Author:
sdonegan
Message:

updates to links and services presentation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • MILK/trunk/milk_server/milk_server/templates/meta.kid

    r5865 r5881  
    33 
    44from milk_server.lib.Utilities import urlListEncode 
     5import string 
    56 
    67?> 
     
    145146     
    146147    <!--- Create that little list of service icons on the result page --> 
    147     <!-- FUDGE to get different icon showing for ceda browse records until I fix the atom=>dif pipeline (so contentType included) SJD 22/10/09 --> 
     148    <!-- FUDGE to get different icon showing for ceda browse records until I fix the atom=>dif pipeline (so contentType included on all ceda difs) SJD 22/10/09 --> 
    148149    <span py:def="serviceIcons(sL)"> 
    149150        <span py:for="s in sL"> 
    150151            <?python 
    151152             
     153             
     154            listServiceEsc=['GET WEB MAP SERVICE','GET WEB COVERAGE SERVICE','GET WEB FEATURE SERVICE','ACCESS MAP VIEWER'] 
     155                         
    152156            t=s.contentType 
    153              
     157            serviceStatus='False' 
     158            loopy = False 
     159            
     160            #flag whether we need to produce an icon i.e. if content above is in contentType then we don't need it as producing a service button instead.                          
     161            for service in listServiceEsc: 
     162                if loopy: 
     163                    break 
     164                 
     165                if service in t: 
     166                    serviceStatus='True' 
     167                    loopy = True 
     168            
     169            
    154170            if 'ATOM' in s.description: 
    155171                atomFudge=True 
     
    158174             
    159175            if t=='': t='R' 
     176             
    160177            if 'GET DATA' in t: t='GET DATA' 
     178             
    161179            try: 
    162                 iconD={'NDG_BROWSE':g.icons_NDGBrwse,'GET DATA':g.icons_A, 
    163                     'VIEW EXTENDED METADATA':g.icons_B, 
    164                     'DISCOVERY':g.icons_D, 
    165                     'R':g.icons_R} 
     180                iconD={'NDG_BROWSE':g.icons_NDGBrwse,'GET DATA':g.icons_A,'VIEW EXTENDED METADATA':g.icons_B,'DISCOVERY':g.icons_D,'R':g.icons_R} 
    166181                     
    167182                if atomFudge: 
     
    169184                     
    170185                else: 
    171                     icon=iconD[t]  
     186                    icon=iconD[t] 
    172187                  
    173188            except: 
     189                
    174190                icon=g.icons_R 
    175191                 
    176             
     192            if serviceStatus == 'True': 
     193                icon='' 
     194                  
    177195            ?> 
    178                         
    179             <span py:replace="linkimage(s.url,icon,s.description)"/> 
    180         </span> 
    181     </span>  
     196             
     197            <span py:if="icon!=''">         
     198                <span py:replace="linkimage(s.url,icon,s.description)"/> 
     199            </span> 
     200        </span> 
     201    </span> 
     202     
     203    <!-- in order to get around displaying a huge list of service icons for wms etc, generate buttons with number info --> 
     204    <span py:def="serviceButtons(sL,discoveryViewLinkBinding)"> 
     205     
     206        <?python 
     207         
     208            numWMS = 0 
     209            numWCS = 0 
     210            numWFS = 0 
     211            numVis = 0 
     212             
     213            counter = 0 
     214             
     215            #discoveryViewLink passed from d.binding, coding for which is deep down somewhere.  Just parse and strip out the url for now.. 
     216            #..and can add anchor for links and service in at this point too.. 
     217            discoveryViewLink=discoveryViewLinkBinding 
     218             
     219        ?> 
     220        <!-- Loop through each service content block and count numbers of relevant services - NOTE based on GCMD accepted terms --> 
     221        <span py:for="s in sL"> 
     222     
     223            <?python 
     224                t=s.contentType 
     225                               
     226                if 'GET WEB MAP SERVICE' in t: 
     227                    numWMS = numWMS + 1 
     228                     
     229                if 'GET WEB COVERAGE SERVICE' in t: 
     230                    numWCS = numWCS + 1 
     231                     
     232                if 'GET WEB FEATURE SERVICE' in t: 
     233                    numWFS = numWFS + 1 
     234                     
     235                if 'ACCESS MAP VIEWER' in t: 
     236                    numVis = numVis + 1 
     237                                  
     238                counter = counter+1 
     239            ?> 
     240             
     241        </span> 
     242         
     243        <!-- now formulate buttons to add to links and services bar --> 
     244        <span py:if="numWMS > 0"> 
     245            <input type="button" alt="$numWMS OGC Web Map Services available - click for more info" value="$numWMS WMS available" onclick="window.location.href='$discoveryViewLink'"/> 
     246        </span> 
     247        <span py:if="numWCS > 0"> 
     248            <input type="button" alt="$numWCS OGC Web Coverage Services available - click for more info" value="$numWCS WCS available"/> 
     249        </span> 
     250        <span py:if="numWFS > 0"> 
     251            <input type="button" alt="$numWFS OGC Web Feature Services available - click for more info" value="$numWFS WCS available"/> 
     252        </span> 
     253        <span py:if="numVis > 0"> 
     254            <input type="button" alt="$numVis Data Visualisation Services - click for more info" value="$numVis Visualisations available"/> 
     255        </span> 
     256                 
     257         
     258    </span> 
    182259     
    183260    <!--- Easy shortening of text for result pages, should use ajax to expand --> 
     
    276353                &nbsp;<span class="ndgem">Links:</span> 
    277354                <!-- Magnifying glass icon courtesy of http://www.deleket.com used for non-commercial purposes within this Discovery Service page and sub-documents --> 
    278                 <span py:replace="serviceIcons([d.binding])"/>                
    279                 <span py:replace="serviceIcons(d.services)"/> 
     355                <span py:replace="serviceIcons([d.binding])"/>     <!-- Discovery View link -->        
     356                <span py:replace="serviceIcons(d.services)"/>      <!-- Logos, homepage etc etc -->  
     357                <span py:replace="serviceButtons(d.services,d.discoveryViewURL)"/>    <!-- Buttons for links to wms, wcs, vis services etc --> 
     358                $d.binding 
    280359            </td> 
    281360            <td>${tc[0]}</td> 
Note: See TracChangeset for help on using the changeset viewer.