Changeset 7863 for TI12-security


Ignore:
Timestamp:
31/01/11 14:48:42 (8 years ago)
Author:
pjkersha
Message:

Complete - task 16: NDG Security 2.x.x - incl. updated Paster templates

  • Re-release 2.0.0 to include complete set of working templates.
Location:
TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/integration/dap/template
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/integration/dap/template/help.html

    r7077 r7863  
     1<!-- !This file uses the Genshi template language: http://genshi.edgewall.org/wiki/Documentation/xml-templates.html --> 
    12<html xmlns="http://www.w3.org/1999/xhtml"> 
    23    <head> 
    3         <title>pyDAP help page for file $location</title> 
     4        <title>pyDAP help page for file ${location[:-5]}</title> 
    45 
    56        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    6         <link media="all, screen" href="ndg2.css" type="text/css" rel="stylesheet"/> 
     7 
     8        <link type="text/css" href="${root}/.static/css/blitzer/jquery-ui-1.8.6.custom.css" rel="stylesheet" />  
     9        <link rel="stylesheet" type="text/css" media="screen" href="${root}/.static/css/default.css" /> 
     10        <link rel="alternate" type="application/thredds+xml" title="THREDDS Catalog" href="${root}/catalog.xml" /> 
    711    </head> 
    812 
    9     <body> 
    10         <div> 
    11             <div id="header"></div> 
    12             <div id="logo"><img src="NERC_Logo.gif" alt="Natural Environment Research Council"/></div> 
     13    <body class="ui-helper-reset ui-widget"> 
     14        <div id="main" class="ui-corner-all ui-widget-content"> 
     15            <h1>How to access this file</h1> 
     16 
     17            <p>The resource <code>${location[:-5]}</code> is a dataset available through the <a href="http://opendap.org/">OPeNDAP</a> protocol. The best way to access this dataset is using an <a href="http://www.opendap.org/faq/whatClients.html">OPeNDAP client</a> like Ferret, GrADS or Matlab.</p> 
     18 
     19            <p>In case you <strong>don't have</strong> a client installed, you can also download data by accessing the <a href="${location[:-5]}.html">web interface</a> for this dataset.</p> 
     20 
     21            <hr /> 
     22            <p class="footnote"><em><a href="http://pydap.org/">pydap/$version</a></em></p> 
    1323        </div> 
    14         <h1>How to access this file</h1> 
     24    </body> 
     25</html> 
    1526 
    16         <p>The resource <code>$location</code> is a dataset available through the <a href="http://opendap.org/">OPeNDAP</a> protocol. The best way to access this dataset is using an <a href="http://www.opendap.org/faq/whatClients.html">OPeNDAP client</a> like Ferret, GrADS or Matlab.</p> 
    17  
    18         <p>In case you <strong>don't have</strong> a client installed, you can try to download data by accessing the <a href="${location}.html">web interface</a> for this dataset.</p> 
    19  
    20         <div id="Footer"> 
    21              
    22             <center><table><tbody> 
    23                 <tr> 
    24                     <td width="60%" align="left"> 
    25                         <table><tbody> 
    26                             <tr> 
    27                                 <td><span> 
    28                                     <a href="http://ndg.nerc.ac.uk/"><image src="ndg_logo_circle.gif" alt="NDG" title="NDG"></image></a> 
    29                                 </span></td> 
    30                                 <td><a href="http://pydap.org">pydap/$version</a> based OPeNDAP site for <a href="http://ndg.nerc.ac.uk">NERC DataGrid</a>. 
    31                                      
    32                                     This site is for test purposes only and is under active development.</td> 
    33                             </tr> 
    34                         </tbody></table> 
    35                     </td> 
    36                     <td align="right"><span> 
    37                         <a href="http://www.stfc.ac.uk/"><image src="stfc-circle-sm.gif" alt="Hosted by the STFC CEDA" title="Hosted by the STFC CEDA"></image></a> 
    38                     </span></td> 
    39                 </tr> 
    40             </tbody></table></center> 
    41         </div>    </body> 
    42 </html> 
     27<!--! vim:ft=genshi 
     28--> 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/integration/dap/template/html.html

    r7077 r7863  
     1<!-- !This file uses the Genshi template language: http://genshi.edgewall.org/wiki/Documentation/xml-templates.html --> 
     2<?python 
     3    from pydap.model import * 
     4?> 
     5 
    16<html xmlns="http://www.w3.org/1999/xhtml" 
    27      xmlns:py="http://genshi.edgewall.org/"> 
    3     <dl py:def="attributes(attrs)" class="attributes"> 
    4         <py:for each="k, v in attrs.items()"> 
    5             <dt>${k}</dt> 
    6             <dd py:choose=""> 
    7                 <py:when test="isinstance(v, dict)">${attributes(v)}</py:when> 
    8                 <py:otherwise>${v}</py:otherwise> 
    9             </dd> 
     8    <py:def function="attributes(attrs)"> 
     9        <dl py:if="attrs" class="attributes ui-widget-content"> 
     10            <py:for each="k, v in attrs.items()"> 
     11                <dt>${k}</dt> 
     12                <dd py:choose=""> 
     13                    <py:when test="isinstance(v, dict)">${attributes(v)}</py:when> 
     14                    <py:otherwise>${v}</py:otherwise> 
     15                </dd> 
     16            </py:for> 
     17        </dl> 
     18    </py:def> 
     19 
     20    <div id="variables" py:def="children(var)" class="children"> 
     21        <py:for each="child in var.walk()"> 
     22            <h3><a href="#">${child.name}</a></h3> 
     23            <div> 
     24                <py:choose test=""> 
     25                    <p py:when="isinstance(child, SequenceType)" class="filter"> 
     26                        <select class="var1" name="var1_${child.id}[0]" id="var1_${child.id}[0]"> 
     27                            <option value="--" selected="selected">--</option> 
     28                            <option py:for="grandchild in child.walk()" value="${grandchild.id}">${grandchild.id}</option> 
     29                        </select> 
     30                        <select class="op" name="op_${child.id}[0]" id="op_${child.id}[0]"> 
     31                            <option value="%3D" selected="selected">=</option> 
     32                            <option value="%21%3D">&ne;</option> 
     33                            <option value="%3C">&lt;</option> 
     34                            <option value="%3C%3D">&le;</option> 
     35                            <option value="%3E">&gt;</option> 
     36                            <option value="%3E%3D">&ge;</option> 
     37                            <option value="%3D%7E">&asymp;</option> 
     38                        </select> 
     39                        <input type="text" name="var2_${child.id}[0]" id="var2_${child.id}[0]" value="" class="var2" /> 
     40                    </p> 
     41                    <div py:when="isinstance(child, (BaseType, GridType))"> 
     42                        <p><input type="checkbox" name="${child.id}" id="${child.id}" /> 
     43                            <label for="${child.id}">Retrieve this variable<py:if test="child.shape"> at indices (start, step, stop)</py:if>:</label> 
     44                        </p> 
     45                        <?python  
     46                            dimensions = child.dimensions or ['dim_%id' % j for j in range(len(child.shape))] 
     47                        ?> 
     48                        <div py:for="i in range(len(child.shape))"> 
     49                            <label for="${child.id}[${i}]">${dimensions[i]}</label>:<br /> 
     50                            <input type="text" name="${child.id}[${i}]" id="${child.id}[${i}]" value="0:1:${child.shape[i]-1}" /><br /> 
     51                        </div> 
     52                    </div> 
     53                </py:choose> 
     54 
     55                ${attributes(child.attributes)} 
     56                <py:if test="not isinstance(child, GridType)"> 
     57                    ${children(child)} 
     58                </py:if> 
     59            </div> 
    1060        </py:for> 
    11     </dl> 
    12  
    13     <div py:def="children(var)" class="children"> 
    14         <fieldset py:for="child in var.walk()"> 
    15             <legend>${child.name}</legend> 
    16  
    17             <?python 
    18                 from pydap.model import * 
    19             ?> 
    20             <py:choose test=""> 
    21                 <p py:when="isinstance(child, SequenceType)" class="filter"> 
    22                     <select class="var1" name="var1_${child.id}[0]" id="var1_${child.id}[0]"> 
    23                         <option value="--" selected="selected">--</option> 
    24                         <option py:for="grandchild in child.walk()" value="${grandchild.id}">${grandchild.id}</option> 
    25                     </select> 
    26                     <select class="op" name="op_${child.id}[0]" id="op_${child.id}[0]"> 
    27                         <option value="%3D" selected="selected">=</option> 
    28                         <option value="%21%3D">!=</option> 
    29                         <option value="%3C">&lt;</option> 
    30                         <option value="%3C%3D">&lt;=</option> 
    31                         <option value="%3E">&gt;</option> 
    32                         <option value="%3E%3D">&gt;=</option> 
    33                         <option value="%3D%7E">=~</option> 
    34                     </select> 
    35                     <input type="text" name="var2_${child.id}[0]" id="var2_${child.id}[0]" value="" class="var2" /> 
    36                 </p> 
    37                 <div py:when="isinstance(child, (BaseType, GridType))"> 
    38                     <p><input type="checkbox" name="${child.id}" id="${child.id}" /><label for="${child.id}">Retrieve this variable.</label></p> 
    39                     <?python  
    40                         dimensions = child.dimensions or ['dim_%id' % j for j in range(len(child.shape))] 
    41                     ?> 
    42                     <div py:for="i in range(len(child.shape))"> 
    43                         <label for="${child.id}[${i}]">${dimensions[i]}</label>:<br /> 
    44                         <input type="text" name="${child.id}[${i}]" id="${child.id}[${i}]" value="0:1:${child.shape[i]-1}" /><br /> 
    45                     </div> 
    46                 </div> 
    47             </py:choose> 
    48  
    49             ${attributes(child.attributes)} 
    50             ${children(child)} 
    51         </fieldset> 
    5261    </div> 
    5362 
    5463    <head> 
    55         <title>DODS Server: ${dataset.name}</title> 
     64        <title>Pydap server: ${dataset.name}</title> 
    5665 
    5766        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    58         <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"> 
     67 
     68 
     69        <link type="text/css" href="${root}/dap/.static/css/blitzer/jquery-ui-1.8.6.custom.css" rel="stylesheet" />  
     70        <link rel="stylesheet" type="text/css" media="screen" href="${root}/dap/.static/css/default.css" /> 
     71        <link rel="alternate" type="application/thredds+xml" title="THREDDS Catalog" href="${root}/dap/catalog.xml" /> 
     72        <script type="text/javascript" src="${root}/dap/.static/js/jquery-1.4.2.min.js"></script> 
     73        <script type="text/javascript" src="${root}/dap/.static/js/jquery-ui-1.8.2.custom.min.js"></script> 
     74        <script type="text/javascript" src="${root}/dap/.static/js/jquery.hotkeys-0.7.9.min.js"></script> 
     75        <script type="text/javascript" src="${root}/dap/.static/js/OpenLayers/OpenLayers.js"></script> 
     76        <script type="text/javascript"> 
     77            var root = "${root}/dap"; 
    5978        </script> 
    60         <script type="text/javascript"> 
    61             //<![CDATA[  
    62                 $(document).ready(function(){ 
    63                     var re = /(.*)\[(\d+)\]/; 
    64                     $('p.filter:last > select.var1').change(function() { 
    65                         if (this.value != '--') { 
    66                             var snippet = $(this.parentNode).clone(true); 
    67                             // Replace ids with unique ones. 
    68                             snippet.find('.var1,.op,.var2').each(function() { 
    69                                 match = re.exec(this.id); 
    70                                 base = match[1]; 
    71                                 counter = parseInt(match[2]) + 1; 
    72                                 this.name = this.id = base + '[' + counter + ']'; 
    73                             }); 
    74                             snippet.insertAfter(this.parentNode); 
    75                             $(this).unbind('change'); 
    76                         } 
    77                     }); 
    78                 }); 
    79             //]]>  
    80         </script> 
    81         <link media="all, screen" href="ndg2.css" type="text/css" rel="stylesheet"/> 
     79        <script type="text/javascript" src="${root}/dap/.static/js/html_form.js"></script> 
     80        <script py:if="environ.get('pydap.search')" 
     81            type="text/javascript" src="${root}/dap/.static/js/search.js"></script> 
     82 
    8283    </head> 
    8384 
    84     <body> 
    85         <div> 
    86             <div id="header"></div> 
    87             <div id="logo"><img src="NERC_Logo.gif" alt="Natural Environment Research Council"/></div> 
     85    <body class="ui-helper-reset ui-widget"> 
     86        <div id="main" class="ui-corner-all ui-widget-content"> 
     87            <h1 id="title">Download data from <code>${dataset.name}</code></h1> 
     88 
     89            <hr class="ui-widget-header" /> 
     90            <p> 
     91                <table><tr><td style="width:1%"><span class="ui-icon ui-icon-folder-collapsed" style="display: block"></span></td><td> 
     92                <a href="${base}/">Parent directory</a></td></tr> 
     93                </table> 
     94            </p> 
     95 
     96            <!-- Global attributes --> 
     97            <h2>Global attributes</h2> 
     98            ${attributes(dataset.attributes)} 
     99 
     100            <hr /> 
     101 
     102            <div id="tabs"> 
     103                <ul> 
     104                    <li><a href="#html" title="Download data using an HTML form"><span>HTML form</span></a></li> 
     105                    <li py:if="'wms' in responses.keys()"><a href="#wms" title="Visualize data on a map"><span>Map</span></a></li> 
     106<!-- 
     107                    <li><a href="#ferret" title="Download data using Ferret"><span>Ferret</span></a></li> 
     108                    <li><a href="#grads" title="Download data using GrADS"><span>GrADS</span></a></li> 
     109                    <li><a href="#idl" title="Download data using IDL"><span>IDL</span></a></li> 
     110                    <li><a href="#pydap" title="Download data using Pydap"><span>Pydap</span></a></li> 
     111                    <li><a href="#other" title="Download data with a different Opendap client"><span>Other clients</span></a></li> 
     112--> 
     113                </ul> 
     114 
     115                <div id="html"> 
     116                    <h2>Downloading data</h2> 
     117                    <p>In the form below you can specify desired variables and their dimensions, and have the data downloaded in different formats depending on the server configuration.</p> 
     118 
     119                    <form id="dods_form" method="post" action="${location}"> 
     120                        <!-- Dataset variables --> 
     121                        ${children(dataset)} 
     122 
     123                        <p><input type="submit" id="submit" value="Download data" /> as  
     124                        <select id="response" name="response"> 
     125                            <option value="ascii" selected="selected">ASCII</option> 
     126                            <option py:for="response, desc in responses.items()" value="$response">$desc</option> 
     127                        </select> 
     128                        <br /><input type="reset" value="Reset" /></p> 
     129                    </form> 
     130                </div> 
     131 
     132                <div id="ferret"> 
     133                    <h2>Downloading data with Ferret</h2> 
     134                    <p>To access this dataset with the <a href="http://ferret.pmel.noaa.gov/Ferret/">Ferret</a> visualization and analysis environment from <a href="http://www.pmel.noaa.gov/">PMEL</a>:</p> 
     135 
     136                    <pre><code>$ ferret 
     137yes? use "${location[:-5]}" 
     138yes? show data</code></pre> 
     139                </div> 
     140 
     141                <div id="grads"> 
     142                    <h2>Downloading data with GrADS</h2> 
     143                    <p>To access this dataset with the <a href="http://www.iges.org/grads/">GrADS</a> data analysis and visualization software developed by <a href="http://www.iges.org/cola.html">COLA</a>:</p> 
     144 
     145                    <pre><code>$ gradsdap 
     146ga-&gt; sdfopen ${location[:-5]} 
     147ga-&gt; query file</code></pre> 
     148                </div> 
     149 
     150                <div id="idl"> 
     151                    <h2>Downloading data with IDL</h2> 
     152                    <p>To access this dataset with the <a href="http://opendap.org/download/idl-client.html">OPeNDAP IDL Client</a>, a tool for the <a href="http://www.ittvis.com/ProductServices/IDL.aspx">IDL</a> data analysis and visualization package:</p> 
     153 
     154                    <pre><code>IDL&gt; url = '${location[:-5]}' 
     155IDL&gt; stat = opendap_get(url, def, mode='dds') 
     156IDL&gt; help, def, /structures</code></pre> 
     157                </div> 
     158 
     159                <div id="pydap"> 
     160                    <h2>Downloading data with Pydap</h2> 
     161                    <p>To access this dataset using the <a href="http://pydap.org/">Pydap</a> Python module:</p> 
     162 
     163                    <pre><code>$ python 
     164&gt;&gt;&gt; from pydap.client import open_url 
     165&gt;&gt;&gt; dataset = open_url("${location[:-5]}") 
     166&gt;&gt;&gt; print dataset.keys() 
     167${str(dataset.keys())}</code></pre> 
     168                </div> 
     169 
     170                <div id="other"> 
     171                    <h2>Downloading data with other Opendap clients</h2> 
     172                    <p>There are other <a href="http://www.opendap.org/faq/whatClients.html">Opendap clients</a> that can access this dataset, including Matlab and several command line utilities. You should know that the URL for this dataset is <code>${location[:-5]}</code> (i.e., the <code>.html</code> extension should be omitted when opening this dataset on an Opendap client).</p> 
     173                </div> 
     174 
     175                <div id="wms" py:if="'wms' in responses.keys()"> 
     176                    <div id="map" style="width: 600px; height: 300px;"></div> 
     177                    <p py:if="'kml' in responses.keys()">Open in <a href="${location[:-5]}.kml">Google Earth</a>.</p> 
     178                </div> 
     179            </div> 
    88180        </div> 
    89         <h1>DODS Server: ${dataset.name}</h1> 
    90  
    91         <!-- Global attributes --> 
    92         ${attributes(dataset.attributes)} 
    93  
    94         <hr /> 
    95         <form id="dods_form" method="post" action="${location}"> 
    96             <!-- Dataset variables --> 
    97             ${children(dataset)} 
    98  
    99             <p><input type="submit" id="submit" value="Download data" /> as  
    100             <select id="response" name="response"> 
    101                 <option value="ascii" selected="selected">ASCII</option> 
    102                 <option py:for="response in responses" value="$response">$response</option> 
    103             </select> 
    104             <br /><input type="reset" value="Reset" /></p> 
    105         </form> 
    106  
    107         <hr /> 
    108         <pre><code>$dds</code></pre> 
    109  
    110         <div id="Footer"> 
    111              
    112             <center><table><tbody> 
     181        <div id="footer"> 
     182            <table width="100%"><tbody> 
    113183                <tr> 
    114                     <td width="60%" align="left"> 
     184                    <td align="left" width="80%" valign="top"> 
    115185                        <table><tbody> 
    116186                            <tr> 
    117                                 <td><span> 
    118                                     <a href="http://ndg.nerc.ac.uk/"><image src="ndg_logo_circle.gif" alt="NDG" title="NDG"></image></a> 
    119                                 </span></td> 
    120                                 <td><a href="http://pydap.org">pydap/$version</a> based OPeNDAP site for <a href="http://ndg.nerc.ac.uk">NERC DataGrid</a>. 
    121                                      
    122                                     This site is for test purposes only and is under active development.</td> 
     187                                <td valign="top"><small>CEDA PyDAP Service Beta.<p><a href="http://pampero.badc.rl.ac.uk/dap/logout" class="FooterLink">logout</a></p></small></td> 
    123188                            </tr> 
    124189                        </tbody></table> 
    125                     </td> 
    126                     <td align="right"><span> 
    127                         <a href="http://www.stfc.ac.uk/"><image src="stfc-circle-sm.gif" alt="Hosted by the STFC CEDA" title="Hosted by the STFC CEDA"></image></a> 
    128                     </span></td> 
     190                     </td> 
     191                     <td align="right" valign="top"><span> 
     192                          <a href="http://ceda.ac.uk/"><image src="https://ceda.ac.uk/layout/CEDA_RightButton60.png" alt="Centre for Environmental Data Archival" title="Centre for Environmental Data Archival" border="0"></image></a> 
     193                     </span></td> 
    129194                </tr> 
    130             </tbody></table></center> 
     195            </tbody></table> 
    131196        </div> 
    132197    </body> 
  • TI12-security/trunk/NDGSecurity/python/ndg_security_test/ndg/security/test/integration/dap/template/index.html

    r7077 r7863  
     1<!-- !This file uses the Genshi template language: http://genshi.edgewall.org/wiki/Documentation/xml-templates.html --> 
    12<html xmlns="http://www.w3.org/1999/xhtml" 
    23      xmlns:py="http://genshi.edgewall.org/"> 
     
    67        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    78 
    8         <style type="text/css"> 
    9             table { width: 100% } 
    10             th { text-align: left } 
    11         </style>         
    12         <link media="all, screen" href="ndg2.css" type="text/css" rel="stylesheet"/> 
     9        <link type="text/css" href="${root}/.static/css/blitzer/jquery-ui-1.8.6.custom.css" rel="stylesheet" />  
     10        <link rel="stylesheet" type="text/css" media="screen" href="${root}/.static/css/default.css" /> 
     11        <link rel="alternate" type="application/thredds+xml" title="THREDDS Catalog" href="${root}/catalog.xml" /> 
     12        <script type="text/javascript" src="${root}/.static/js/jquery-1.4.2.min.js"></script> 
     13        <script type="text/javascript" src="${root}/.static/js/jquery-ui-1.8.2.custom.min.js"></script> 
     14        <script type="text/javascript" src="${root}/.static/js/jquery.hotkeys-0.7.9.min.js"></script> 
     15        <script type="text/javascript"> 
     16            var root = "${root}"; 
     17        </script> 
     18        <script py:if="environ.get('pydap.search')" 
     19            type="text/javascript" src="${root}/.static/js/search.js"></script> 
     20 
     21        <!-- icons from http://www.famfamfam.com/lab/icons/silk/preview.php --> 
    1322    </head> 
    1423 
    15     <body> 
    16         <div> 
    17             <div id="header"></div> 
    18             <div id="logo"><img src="NERC_Logo.gif" alt="Natural Environment Research Council"/></div> 
     24    <body class="ui-helper-reset ui-widget"> 
     25        <div id="main" class="ui-corner-all ui-widget-content"> 
     26            <h1 id="title">$title</h1> 
     27 
     28            <hr class="ui-widget-header" /> 
     29            <p> 
     30<!-- 
     31                <span class="ui-icon ui-icon-folder-collapsed" style="display: inline-block"></span> 
     32--> 
     33                <table><tr><td style="width:1%"><span class="ui-icon ui-icon-folder-collapsed" style="display:block"></span></td><td> 
     34                <a href="../">Parent directory</a></td></tr></table> 
     35            </p> 
     36            <table> 
     37                <tr class="ui-widget-header"> 
     38                    <th>Filename</th> 
     39                    <th>Download</th> 
     40                    <th>Last modified</th> 
     41                </tr> 
     42 
     43                <!-- directories --> 
     44                <tr py:for="dir in dirs" class="ui-widget-content"> 
     45                    <td> 
     46<!-- 
     47                        <span class="ui-icon ui-icon-folder-collapsed" style="display: inline-block"></span> 
     48--> 
     49                        <table> 
     50                            <tr> 
     51                                <td style="width:1%"><span class="ui-icon ui-icon-folder-collapsed" style="display:block"></span></td> 
     52                                <td><a href="${dir}/" class="ui-widget">${dir}/</a></td> 
     53                            </tr> 
     54                        </table></td><td colspan="2"> 
     55                    </td> 
     56                </tr> 
     57 
     58                <!-- files --> 
     59                <tr py:for="file in files" class="ui-widget-content"> 
     60                    <td py:choose=""> 
     61                        <py:when test="file.supported"> 
     62<!-- 
     63                            <span class="ui-icon ui-icon-gear" style="display: inline-block"></span> 
     64--> 
     65                            <table> 
     66                               <tr> 
     67                                   <td style="width:1%"><span class="ui-icon ui-icon-gear" style="display: block"></span></td> 
     68                                   <td><a href="${file.name}.html" title="Download data from ${file.name}" class="ui-widget">${file.name}</a></td> 
     69                               </tr> 
     70                            </table> 
     71                        </py:when> 
     72                        <py:otherwise> 
     73<!-- 
     74                            <span class="ui-icon ui-icon-document" style="display: inline-block"></span> 
     75--> 
     76                            <table> 
     77                               <tr> 
     78                                   <td style="width:1%"><span class="ui-icon ui-icon-document" style="display: block"></span></td> 
     79                                   <td class="ui-widget">${file.name}</td> 
     80                               </tr> 
     81                            </table> 
     82                        </py:otherwise> 
     83                    </td> 
     84                    <td><a href="${file.name}" title="Download file ${file.name}">${file.size}</a></td>  
     85                    <?python 
     86                        import time 
     87                    ?> 
     88                    <td>${time.strftime("%m/%d/%Y %I:%M:%S %p", file.modified)}</td>  
     89                </tr> 
     90            </table> 
     91 
     92            <hr /> 
    1993        </div> 
    20         <h1>$title</h1> 
    21  
    22         <table> 
    23             <tr> 
    24                 <th>Filename</th> 
    25                 <th>size</th> 
    26                 <th>DDS</th> 
    27                 <th>DAS</th> 
    28             </tr> 
    29             <tr> 
    30                 <td><a href="../">Parent directory</a></td> 
    31                 <td colspan="3"></td> 
    32             </tr> 
    33  
    34             <!-- diretories --> 
    35             <tr py:for="dir in dirs"> 
    36                 <td><a href="${dir}/">${dir}/</a></td><td colspan="3"></td> 
    37             </tr> 
    38  
    39             <!-- files --> 
    40             <tr py:for="file in files"> 
    41                 <td py:choose=""> 
    42                     <a py:when="file.supported" href="${file.name}.html">${file.name}</a> 
    43                     <py:otherwise>${file.name}</py:otherwise> 
    44                 </td> 
    45  
    46                 <td><a href="${file.name}" title="Download file">${file.size}</a></td>  
    47  
    48                 <td py:choose=""> 
    49                     <a py:when="file.supported" href="${file.name}.dds">DDS</a> 
    50                     <py:otherwise></py:otherwise> 
    51                 </td> 
    52  
    53                 <td py:choose=""> 
    54                     <a py:when="file.supported" href="${file.name}.das">DAS</a> 
    55                     <py:otherwise></py:otherwise> 
    56                 </td> 
    57             </tr> 
    58         </table> 
    59  
    60         <div id="Footer"> 
    61              
    62             <center><table><tbody> 
     94        <div id="footer"> 
     95            <table width="100%"><tbody> 
    6396                <tr> 
    64                     <td width="60%" align="left"> 
    65                         <table> 
    66                             <tbody> 
     97                    <td align="left" width="80%" valign="top"> 
     98                        <table><tbody> 
    6799                            <tr> 
    68                                 <td><span> 
    69                                     <a href="http://ndg.nerc.ac.uk/"><image src="ndg_logo_circle.gif" alt="NDG" title="NDG"></image></a> 
    70                                 </span></td> 
    71                                 <td><a href="http://pydap.org">pydap/$version</a> based OPeNDAP site for <a href="http://ndg.nerc.ac.uk">NERC DataGrid</a>. 
    72                                      
    73                                     This site is for test purposes only and is under active development.</td> 
     100                                <td valign="top"><small>CEDA PyDAP Service Beta.<p><a href="http://pampero.badc.rl.ac.uk/dap/logout" class="FooterLink">logout</a></p></small></td> 
    74101                            </tr> 
    75                             </tbody> 
    76                         </table> 
    77                     </td> 
    78                     <td width="40%" align="center"> 
    79                         <div id="loginStatus"> 
    80                             <!--  
    81                                 Ugly hack to derive SCRIPT_NAME from $title  
    82                                 in order to set the logout URI 
    83                             --> 
    84                             <py:with vars="logoutURI=title.strip('Index of ').rstrip('/')+'/logout'"> 
    85                                 <a href="$logoutURI">logout</a> 
    86                             </py:with> 
    87                         </div> 
    88                     </td> 
    89                      
    90                     <td align="right"><span> 
    91                         <a href="http://www.stfc.ac.uk/"><image src="stfc-circle-sm.gif" alt="Hosted by the STFC CEDA" title="Hosted by the STFC CEDA"></image></a> 
    92                     </span></td> 
     102                        </tbody></table> 
     103                     </td> 
     104                     <td align="right" valign="top"><span> 
     105                          <a href="http://ceda.ac.uk/"><image src="https://ceda.ac.uk/layout/CEDA_RightButton60.png" alt="Centre for Environmental Data Archival" title="Centre for Environmental Data Archival" border="0"></image></a> 
     106                     </span></td> 
    93107                </tr> 
    94             </tbody></table></center> 
     108            </tbody></table> 
    95109        </div> 
    96110    </body> 
    97111</html> 
     112 
     113<!--! vim:ft=genshi 
     114--> 
Note: See TracChangeset for help on using the changeset viewer.