Prettified all HTML files

Prettified all HTML files using Beautiful Soup with the
following script.

https://github.com/berendt/openstack-development/blob/master/prettify.py

Change-Id: I16594e2d000cb51b08c324ef39c2fc7600484422
This commit is contained in:
Christian Berendt 2014-06-06 19:36:57 +02:00 committed by Thierry Carrez
parent a0df2bdb9a
commit eab645d1cc
1 changed files with 249 additions and 143 deletions

View File

@ -1,24 +1,25 @@
<!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="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href=".">
<title>{{ series|capitalize }} release status</title>
<link rel="shortcut icon"
href="https://blueprints.launchpad.net/@@/launchpad.png">
<script type="text/javascript"
src="http://status.openstack.org/common.js"></script>
<link href='http://fonts.googleapis.com/css?family=PT+Sans&amp;subset=latin' rel='stylesheet' type='text/css'/>
<link rel="stylesheet" href="http://www.openstack.org/themes/openstack/css/blueprint/screen.css" type="text/css" media="screen, projection"/>
<link rel="stylesheet" href="http://www.openstack.org/themes/openstack/css/blueprint/print.css" type="text/css" media="print"/>
<link rel="stylesheet" type="text/css" href="http://www.openstack.org/themes/openstack/css/main.css" />
<link type="text/css" rel="stylesheet" media="screen,print" href="combo.css">
<script type="text/javascript" src="sorting.js"></script>
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load('visualization', '1', {packages:['gauge']});
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf8" http-equiv="Content-Type"/>
<base href="."/>
<title>
{{ series|capitalize }} release status
</title>
<link href="https://blueprints.launchpad.net/@@/launchpad.png" rel="shortcut icon"/>
<script src="http://status.openstack.org/common.js" type="text/javascript">
</script>
<link href="http://fonts.googleapis.com/css?family=PT+Sans&amp;subset=latin" rel="stylesheet" type="text/css"/>
<link href="http://www.openstack.org/themes/openstack/css/blueprint/screen.css" media="screen, projection" rel="stylesheet" type="text/css"/>
<link href="http://www.openstack.org/themes/openstack/css/blueprint/print.css" media="print" rel="stylesheet" type="text/css"/>
<link href="http://www.openstack.org/themes/openstack/css/main.css" rel="stylesheet" type="text/css"/>
<link href="combo.css" media="screen,print" rel="stylesheet" type="text/css"/>
<script src="sorting.js" type="text/javascript">
</script>
<script src="https://www.google.com/jsapi" type="text/javascript">
</script>
<script type="text/javascript">
google.load('visualization', '1', {packages:['gauge']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
@ -38,102 +39,180 @@
chart.draw(data, options);
}
</script>
</head>
<body id="document">
<script type="text/javascript">header('Release');</script>
</head>
<body id="document">
<script type="text/javascript">
header('Release');
</script>
<div class="container">
<div class="span-20">
<h1>OpenStack roadmap for {{ series }}</h1>
<a href="https://wiki.openstack.org/wiki/{{ series|capitalize }}_Release_Schedule">Release
Schedule</a><br>
<a href="https://wiki.openstack.org/wiki/Release_Cycle">Release
Cycle</a><br>&nbsp;<br>
<ol class="breadcrumbs">
<li>Page refreshed at {{ date }} UTC </li>
<li>{{ activebps|length + pastbps|length }} total blueprints </li>
<li><b>{{ activebps|length }} tracked active blueprints</b></li>
</ol>
<ol class="breadcrumbs">
<li>Note </li>
<li>We only track active blueprints where priority is Medium, High or Essential (release radar)</li>
</ol>
<ol class="breadcrumbs">
<li>Key </li>
<li><img src=bmpNEEDSREVIEW.png> Proposed change (needs review) </li>
<li><img src=bmpMERGED.png> Merged change</li>
</ol>
<div class="span-20">
<h1>
OpenStack roadmap for {{ series }}
</h1>
<a href="https://wiki.openstack.org/wiki/{{ series|capitalize }}_Release_Schedule">
Release
Schedule
</a>
<br/>
<a href="https://wiki.openstack.org/wiki/Release_Cycle">
Release
Cycle
</a>
<br/>
<br/>
<ol class="breadcrumbs">
<li>
Page refreshed at {{ date }} UTC
</li>
<li>
{{ activebps|length + pastbps|length }} total blueprints
</li>
<li>
<b>
{{ activebps|length }} tracked active blueprints
</b>
</li>
</ol>
<ol class="breadcrumbs">
<li>
Note
</li>
<li>
We only track active blueprints where priority is Medium, High or Essential (release radar)
</li>
</ol>
<ol class="breadcrumbs">
<li>
Key
</li>
<li>
<img src="bmpNEEDSREVIEW.png"/>
Proposed change (needs review)
</li>
<li>
<img src="bmpMERGED.png"/>
Merged change
</li>
</ol>
</div>
<div class="span-4 last">
<div id="chart_div">
</div>
<div class="span-4 last">
<div id='chart_div'></div>
</div>
</div>
<div class=container>
<table class="listing sortable" id="speclisting">
<thead>
<tr>
<th><a href="#" class="sortheader" id="sortprio"
onclick="ts_resortTable(this); return false;">Priority<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader"
onclick="ts_resortTable(this); return false;">Project<img
class="sortarrow" src="arrowDown" height="6" width="9"></a></th>
<th><a href="#" class="sortheader" id="sortmilestone"
onclick="ts_resortTable(this); return false;">Milestone<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader"
onclick="ts_resortTable(this); return false;">Blueprint<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader" id="sortdelivery"
onclick="ts_resortTable(this); return false;">Delivery<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader"
onclick="ts_resortTable(this); return false;">Assignee<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
</tr>
</thead>
<tbody>
</div>
</div>
<div class="container">
<table class="listing sortable" id="speclisting">
<thead>
<tr>
<th>
<a class="sortheader" href="#" id="sortprio" onclick="ts_resortTable(this); return false;">
Priority
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" onclick="ts_resortTable(this); return false;">
Project
<img class="sortarrow" height="6" src="arrowDown" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" id="sortmilestone" onclick="ts_resortTable(this); return false;">
Milestone
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" onclick="ts_resortTable(this); return false;">
Blueprint
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" id="sortdelivery" onclick="ts_resortTable(this); return false;">
Delivery
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" onclick="ts_resortTable(this); return false;">
Assignee
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
</tr>
</thead>
<tbody>
{% macro render_bp(bp) -%}
<tr>
<td>
<span class="sortkey">{{ bp.priorityindex }}</span>
<span class="specpriority{{ bp.priority|upper }}">{{ bp.priority }}</span>
{% if bp.priority == 'Undefined' %}<img src="error.png" title="Priority for blueprint should be defined">{% endif %}
</td>
<td>
<a href="https://blueprints.launchpad.net/{{bp.pname}}/{{series}}">{{bp.pname}}</a>
</td>
<td>
<span class="sortkey">{{bp.milestonedate}}</span>
<a href="{{bp.milestonelink}}">{{bp.milestonename}}</a>
{% if not bp.milestonename %}&nbsp;<img src="alert.png" title="Milestone target should be set">{% endif %}
</td>
<td>
<a href="https://blueprints.launchpad.net/{{bp.pname}}/+spec/{{bp.name}}">{{bp.name}}</a>
</td>
<td>
<span class="sortkey">{{bp.implementationindex}}</span>
<span class="specdelivery{{bp.implementation|replace(' ','')|upper}}">{{bp.implementation}}</span>
<tr>
<td>
<span class="sortkey">
{{ bp.priorityindex }}
</span>
<span class="specpriority{{ bp.priority|upper }}">
{{ bp.priority }}
</span>
{% if bp.priority == 'Undefined' %}
<img src="error.png" title="Priority for blueprint should be defined"/>
{% endif %}
</td>
<td>
<a href="https://blueprints.launchpad.net/{{bp.pname}}/{{series}}">
{{bp.pname}}
</a>
</td>
<td>
<span class="sortkey">
{{bp.milestonedate}}
</span>
<a href="{{bp.milestonelink}}">
{{bp.milestonename}}
</a>
{% if not bp.milestonename %}
<img src="alert.png" title="Milestone target should be set"/>
{% endif %}
</td>
<td>
<a href="https://blueprints.launchpad.net/{{bp.pname}}/+spec/{{bp.name}}">
{{bp.name}}
</a>
</td>
<td>
<span class="sortkey">
{{bp.implementationindex}}
</span>
<span class="specdelivery{{bp.implementation|replace(' ','')|upper}}">
{{bp.implementation}}
</span>
{% for review in bp.reviews %}
<a href="{{review.url}}" title="{{review.subject}}"><img src="bmp{{review.image}}.png"></a>
<a href="{{review.url}}" title="{{review.subject}}">
<img src="bmp{{review.image}}.png"/>
</a>
{% endfor %}
{% if bp.impl_error %}<img src="error.png" title="{{bp.impl_error}}-">
{% if bp.impl_error %}
<img src="error.png" title="{{bp.impl_error}}-"/>
{% endif %}
{% if bp.impl_warn %}
<img src="alert.png" title="{{bp.impl_warn}}-"/>
{% endif %}
{% if bp.impl_warn %}<img src="alert.png" title="{{bp.impl_warn}}-">
</td>
<td>
<span>
<a href="https://launchpad.net/~{{bp.assigneename}}">
{{bp.assigneedisplay}}
</a>
{% if bp.assignee_error %}
<img src="error.png" title="{{bp.assignee_error}}-"/>
{% endif %}
</td>
<td>
<span><a href="https://launchpad.net/~{{bp.assigneename}}">{{bp.assigneedisplay}}</a>
{% if bp.assignee_error %}<img src="error.png" title="{{bp.assignee_error}}-">
{% if bp.assignee_warn %}
<img src="alert.png" title="{{bp.assignee_warn}}-"/>
{% endif %}
{% if bp.assignee_warn %}<img src="alert.png" title="{{bp.assignee_warn}}-">
{% endif %}
</span>
</td>
</tr>
</span>
</td>
</tr>
{%- endmacro %}
{% for bp in activebps %}{{ render_bp(bp) }}{% endfor %}
</tbody>
</tbody>
</table>
<script type="text/javascript">
// Sort by default by priority, then delivery
@ -141,39 +220,63 @@
ts_resortTable(document.getElementById("sortprio"))
ts_resortTable(document.getElementById("sortmilestone"))
</script>
</div>
<div class="container">
<p>&nbsp</p>
<h2>Past milestones</h2>
<ol class="breadcrumbs">
<li>{{ pastbps|length }} completed blueprints</li>
</ol>
<table class="listing sortable" id="speclisting">
<thead>
<tr>
<th><a href="#" class="sortheader" id="sortBprio"
onclick="ts_resortTable(this); return false;">Priority<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader"
onclick="ts_resortTable(this); return false;">Project<img
class="sortarrow" src="arrowDown" height="6" width="9"></a></th>
<th><a href="#" class="sortheader" id="sortBmilestone"
onclick="ts_resortTable(this); return false;">Milestone<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader"
onclick="ts_resortTable(this); return false;">Blueprint<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader" id="sortBdelivery"
onclick="ts_resortTable(this); return false;">Delivery<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
<th><a href="#" class="sortheader"
onclick="ts_resortTable(this); return false;">Assignee<img
class="sortarrow" src="arrowBlank" height="6" width="9"></a></th>
</tr>
</thead>
<tbody>
{% for bp in pastbps %}{{ render_bp(bp) }}{% endfor %}
</tbody>
</div>
<div class="container">
<p>
&nbsp;
</p>
<h2>
Past milestones
</h2>
<ol class="breadcrumbs">
<li>
{{ pastbps|length }} completed blueprints
</li>
</ol>
<table class="listing sortable" id="speclisting">
<thead>
<tr>
<th>
<a class="sortheader" href="#" id="sortBprio" onclick="ts_resortTable(this); return false;">
Priority
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" onclick="ts_resortTable(this); return false;">
Project
<img class="sortarrow" height="6" src="arrowDown" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" id="sortBmilestone" onclick="ts_resortTable(this); return false;">
Milestone
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" onclick="ts_resortTable(this); return false;">
Blueprint
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" id="sortBdelivery" onclick="ts_resortTable(this); return false;">
Delivery
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
<th>
<a class="sortheader" href="#" onclick="ts_resortTable(this); return false;">
Assignee
<img class="sortarrow" height="6" src="arrowBlank" width="9"/>
</a>
</th>
</tr>
</thead>
<tbody>
{% for bp in pastbps %}{{ render_bp(bp) }}{% endfor %}
</tbody>
</table>
<script type="text/javascript">
// Sort by default by priority, then delivery
@ -181,6 +284,9 @@
ts_resortTable(document.getElementById("sortBprio"))
ts_resortTable(document.getElementById("sortBmilestone"))
</script>
</div>
<script type="text/javascript">footer();</script>
</body></html>
</div>
<script type="text/javascript">
footer();
</script>
</body>
</html>