The following commit has been merged in the master branch: commit c3d8ecec3bcc8084ba09eb9aa2b6104e2a0c92c8 Author: Ole Streicher <deb...@liska.ath.cx> Date: Fri Dec 4 15:02:48 2015 +0100
Experimental package details list for Debian-Astro diff --git a/webtools/tasks.py b/webtools/tasks.py index 4f95798..6513fbc 100755 --- a/webtools/tasks.py +++ b/webtools/tasks.py @@ -262,7 +262,11 @@ for lang in languages: except: # simply continue if file does not exist pass - template = loader.load('tasks.xhtml') + if data['projectname'] == 'Debian Astro': + template = loader.load('packages.xhtml') + else: + template = loader.load('tasks.xhtml') + f = open(outputfile+'_tmp', "w") try: print >> f, template.generate(**data).render('xhtml') diff --git a/webtools/templates/packages.xhtml b/webtools/templates/packages.xhtml new file mode 100644 index 0000000..177be75 --- /dev/null +++ b/webtools/templates/packages.xhtml @@ -0,0 +1,384 @@ +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${lang}" lang="${lang}" + xmlns:py="http://genshi.edgewall.org/"> + <head> + <title>$projectname ${tasks[task].metapkg.PrintedName.capitalize()} packages</title> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> + <link href="http://www.debian.org/debhandheld.css" media="screen" + rel="stylesheet" type="text/css" /> + <link href="http://www.debian.org/debian.css" rel="stylesheet" + type="text/css" /> + <link href="http://blends.debian.org/css/blends.css" rel="stylesheet" + type="text/css" /> + <style type="text/css"> +.pkgdesc-full { + background:#f8f8ff; +} +.pkgdesc-full td { + border-top-style: none; +} +.pkgdesc-full p,ol,ul,pre { + margin-top:0; + margin-bottom: 0; + padding-bottom: 0.5em; +} +.pkgdesc-full h3 { + margin: 1em; +} +.pkgdesc-full dt { + float: left; + font-weight: bold; + margin-top: 0; + margin-bottom: 0; + margin-left: 1em; + margin-right: 0; + padding-top: 0.5em; + width: 150px; +} +.pkgdesc-full dt:after { + content: ':'; +} +.pkgdesc-full dt.screenshot:after { + content: ''; +} +.pkgdesc-full dt.screenshot img { + width: 100%; +} + +.pkgdesc-full dd { + margin-left: 2em; + padding-left: 150px; + padding-bottom: 0.5em; + padding-top: 0.5em; +} +.pkgdesc-full dd::after { + clear: left; + content: ""; + display: block; +} +.pkgdesc-short td:not(:last-child) { + width: 1px; + white-space: nowrap; +} + </style> + <link rel="shortcut icon" href="http://www.debian.org/favicon.ico" /> + <script type="text/javascript"> +// <![CDATA[ +function toggle_visibility(id) { + var element = document.getElementById(id); + if (element) { + if (element.style.display == "none") { + element.style.display = ""; + } else { + element.style.display = "none"; + } + } +} +function show_fulldesc(hash) { + var full = document.getElementsByClassName("pkgdesc-full"); + var l = full.length; + for (var i = 0; i < l; i++) { + if ((hash == "#all") | (hash == "#" + full[i].id)) { + full[i].style.display = ""; + } else { + full[i].style.display = "none"; + } + } +} +// ]]> + </script> + </head> + <body onload="show_fulldesc(window.location.hash)"> + <div id="header"> + <div id="upperheader"> + <div id="logo"> + <a href="http://www.debian.org/" title="Debian Home"> + <img src= "http://www.debian.org/Pics/openlogo-50.png" + alt="Debian" width="50" height= "61" /></a> + </div> + <p class="section">Pure Blend</p> + </div> + <div id="navbar"> + <ul> + <li><a href="$projecturl">$projectname</a></li> + <li><a href="../tasks">$packages</a></li> + <li><a href="../contact.html">$contact</a></li> + <li><a href="../contribute.html">$contribute</a></li> + </ul> + </div> + <p id="breadcrumbs"> + <a href="http://blends.debian.org">Debian Pure Blends</a> + / <a href="$projecturl">$projectname</a> + / <a href="../tasks">$packages</a> + / ${tasks[task].metapkg.PrintedName.capitalize()} + </p> + </div><!-- end header --> + <div id="content"> + <p> + <small> + <a href="#all" onclick="show_fulldesc('#all');">Show all details</a> + - <a href="#" onclick="show_fulldesc('#');">Hide all details</a> + </small> + </p> + <h1> + $projectname ${tasks[task].metapkg.PrintedName.capitalize()} packages + </h1> + <em py:choose=""> + <py:when test="lang in tasks[task].metapkg.desc"> + ${tasks[task].metapkg.desc[lang]['short']} + </py:when> + <py:otherwise> + ${tasks[task].metapkg.desc['en']['short']} + </py:otherwise> + </em> + <p py:choose=""> + <span py:when="lang in tasks[task].metapkg.desc"> + ${tasks[task].metapkg.desc[lang]['long']} + <div class="transmpkg" py:if="lang != 'en'"> + <a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${tasks[task].metapkg.pkg}">${fixtranslation}</a> + </div> + </span> + <span py:otherwise=""> + ${tasks[task].metapkg.desc['en']['long']} + <div class="transmpkg" py:if="lang != 'en'"> + <a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${tasks[task].metapkg.pkg}">${translatedesc}</a> + </div> + </span> + </p> + <table width="90%"> + <py:for each="pstatus in dependencies[task]"> + <tr> + <td colspan="3" style="border-top-style: none;"> + <h2> + <a id="${pstatus}-debs" name="${pstatus}-debs"/> + ${headline[pstatus]} + </h2> +<!-- + <p>These packages are all under a + <a href="https://www.debian.org/social_contract#guidelines"> + DFSG-free + </a> + license. They are automatically selected when the + <a href="">astro-frameworks</a> + package is going to be installed. + </p> +--> + </td> + </tr> + <tr class="header"> + <th>Package</th> + <th>Version</th> + <th>Description</th> + </tr> + <py:for each="project in projects[task][pstatus]"> + <tr id="${project.pkg}.short" class="pkgdesc-short"> + <td> + <a onclick="toggle_visibility('${project.pkg}');" style="cursor:pointer;"> + ${project.pkg.capitalize()} + </a> + </td> + <td> + <py:if test="project.version"> + <py:choose> + <py:when test="isinstance(project.version[-1], (str, unicode))"> + ${project.version[-1]} + </py:when> + <py:otherwise> + <a href="http://packages.debian.org/${project.version[-1]['release']}/${project.pkg}"> + ${project.version[-1]['version']} + </a> + </py:otherwise> + </py:choose> + </py:if> + </td> + <td> + <a onclick="toggle_visibility('${project.pkg}');" style="cursor:pointer;"> + <py:choose> + <py:when test="lang in project.desc">${project.desc[lang]['short']}</py:when> + <py:otherwise>${project.desc['en']['short']}</py:otherwise> + </py:choose> + </a> + </td> + </tr> + <tr id="${project.pkg}" class="pkgdesc-full" style="display:none;"> + <td colspan="3"> + <h3> + ${project.pkg.capitalize()}: + <py:choose> + <py:when test="lang in project.desc">${project.desc[lang]['short']}</py:when> + <py:otherwise>${project.desc['en']['short']}</py:otherwise> + </py:choose> + </h3> + <dl> + <py:choose> + <py:when test="project.icon"> + <dt class="screenshot"> + <img src="${project.icon}" alt=""/> + </dt> + </py:when> + <py:otherwise> + <dt>Description</dt> + </py:otherwise> + </py:choose> + <dd> + <py:choose> + <py:when test="lang in project.desc">${project.desc[lang]['long']}</py:when> + <py:otherwise>${project.desc['en']['long']}</py:otherwise> + </py:choose> + </dd> + <py:if test="'published' in project.properties"> + <dt>Reference</dt> + <dd> + <py:if test="'authors' in project.properties['published']"> + ${project.properties['published']['authors']}: + </py:if> + <py:choose> + <py:when test="'url' in project.properties['published']"> + <py:choose> + <py:when test="'title' in project.properties['published']"> + <a href="${project.properties['published']['url']}"> + <em>${project.properties['published']['title']}.</em> + </a> + </py:when> + <py:otherwise> + <a href="${project.properties['published']['url']}"> + Link to publication + </a> + </py:otherwise> + </py:choose> + </py:when> + <py:when test="'doi' in project.properties['published']"> + <py:choose> + <py:when test="'title' in project.properties['published']"> + <a href="http://dx.doi.org/${project.properties['published']['doi']}"> + ${project.properties['published']['title']}. + </a> + </py:when> + <py:otherwise> + <a href="http://dx.doi.org/${project.properties['published']['doi']}"> + Link to publication</a> + </py:otherwise> + </py:choose> + </py:when> + <py:otherwise> + <py:if test="'title' in project.properties['published']"> + ${project.properties['published']['title']} + </py:if> + </py:otherwise> + </py:choose> + <py:if test="'pubmed' in project.properties['published']"> + (<a href="http://www.ncbi.nlm.nih.gov/pubmed/${project.properties['published']['pubmed']}">PubMed</a></py:if><py:if test="'pubmed' in project.properties['published'] and 'eprint' in project.properties['published']">,</py:if><py:if test="'pubmed' not in project.properties['published'] and 'eprint' in project.properties['published']">(</py:if><py:if test="'eprint' in project.properties['published']"><a href="${project.properties['published']['eprint']}">eprint</a></py:if><py:if test="'pubmed' in project.properties['published'] or 'eprint' in project.properties['published']">)</py:if> + <py:if test="'journal' in project.properties['published']">${project.properties['published']['journal']}</py:if> + <py:if test="'volume' in project.properties['published']">${project.properties['published']['volume']}</py:if><py:if test="'number' in project.properties['published']">(${project.properties['published']['number']})</py:if><py:if test="'pages' in project.properties['published']">:${project.properties['published']['pages']}</py:if> + <py:if test="'year' in project.properties['published']">(${project.properties['published']['year']})</py:if> + </dd> + </py:if> + <py:if test="project.responsible != None"> + <dt>${maintainer[pstatus]}</dt> + <dd> + ${project.responsible} + <py:if test="project.properties.get('changed_by')"> + / ${project.properties['changed_by']} + </py:if> + </dd> + </py:if> + <py:if test="project.version != []"> + <dt>Versions</dt> + <dd> + <py:for each="version in project.version"> + <py:choose> + <py:when test="isinstance(version, (str, unicode))"> + ${version} + </py:when> + <py:when test="'amd64' in version['archs'] or 'all' in version['archs']"> + ${version['version']} + (<a href="https://packages.debian.org/${version['release']}/${project.pkg}">${version['release']}</a>), + </py:when> + </py:choose> + </py:for> + </dd> + </py:if> + <py:if test="project.properties['Enhances'] != {}"> + <dt>Enhanced by</dt> + <dd> + <py:for each="enh in project.properties['Enhances'].keys()"> + <a href="${project.properties['Enhances'][enh]}">${enh}</a> + </py:for> + </dd> + </py:if> + <dt>Debian</dt> + <dd> + <py:if test="'wnpp' in project.properties"> + <a href="http://bugs.debian.org/${project.properties['wnpp']}">Announcement</a> - + </py:if> + <a href="https://tracker.debian.org/pkg/${project.pkg}">Maintainer page</a> + - <a href="https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=${project.pkg}">Bugs</a> + <py:if test="project.properties['vcs-browser'] != '#'"> + - + <py:choose> + <py:when test="'vcs-url' in project.properties"> + <a href="${project.properties['vcs-browser']}" title="${project.properties['vcs-url']}"> + ${project.properties['vcs-type']} + </a> + </py:when> + <py:otherwise> + <a href="${project.properties['vcs-browser']}"> + ${project.properties['vcs-type']} + </a> + </py:otherwise> + </py:choose> + </py:if> + </dd> + <py:if test="'homepage' in project.properties"> + <dt>Upstream</dt> + <dd> + <a href="${project.properties['homepage']}">Home page</a> + <py:if test="'registration' in project.properties"> + - <a href="${project.properties['registration']}">Registration</a> + </py:if> + </dd> + </py:if> + <py:if test="project.remark"> + <dt>Remark</dt> + <dd> + <py:if test="project.remark['short']">${project.remark['short']}</py:if> + <py:if test="project.remark['long']">${project.remark['long']}</py:if> + </dd> + </py:if> + <dt>Improve entry</dt> + <dd> + <a href="http://screenshots.debian.net/uploadfile?packagename=${project.pkg}">Screenshots</a> + - <a href="http://debtags.alioth.debian.org/edit.html?pkg=${project.pkg}">Debtags</a> + <py:if test="lang != 'en' and project.component == 'main' and project.pkgstatus != 'new' and project.pkgstatus != 'pkgvcs'"> + <py:choose> + <py:when test="lang in project.desc"> + - <a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/forexternalreview/${project.pkg}">${fixtranslation}</a> + </py:when> + <py:otherwise> + - <a href="http://ddtp.debian.net/ddtss/index.cgi/${lang}/fetch?package=${project.pkg}">${translatedesc}</a> + </py:otherwise> + </py:choose> + </py:if> + </dd> + </dl> + </td> + </tr> + </py:for> + </py:for> + </table> + </div> + <div id="footer"> + <hr class="hidecss" /> + <p>${langavail}</p> + <py:for each="l in languages"> + <span py:if="lang != l" class="navpara"> + <a href="${task}.${language_dict[l]['short']}.html" title="${language_dict[l]['title']}" hreflang="${language_dict[l]['htaccess']}" lang="${language_dict[l]['htaccess']}" rel="alternate">${language_dict[l]['printed']}</a> + </span> + </py:for> + <p>${howtosetlang}</p> + <address>${updatetimestamp}</address> + </div> + </body> +</html> -- Static and dynamic websites for Debian Pure Blends _______________________________________________ Blends-commit mailing list Blends-commit@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/blends-commit