-
Notifications
You must be signed in to change notification settings - Fork 0
/
generate-review-dash.py
executable file
·69 lines (52 loc) · 2.02 KB
/
generate-review-dash.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import os
import urllib
import yaml
url_prefix = 'https://review.openstack.org/#/dashboard/?'
html_template = (
'<meta http-equiv="Cache-Control" '
'content="no-cache, no-store, must-revalidate" /> '
'<meta http-equiv="Pragma" content="no-cache" /> '
'<meta http-equiv="Expires" content="0" /> '
'<meta http-equiv="refresh" content="0; URL=%s">')
def generate_review_dash(filename):
stream = open(filename, 'r')
yaml_data = yaml.load(stream)
conf = yaml_data[0]['Dashboard']
desc = yaml_data[1]['Description']
url = url_prefix + urllib.urlencode(conf).replace('%2C', '%252C')
title = os.path.splitext(filename)[0]
dashname = title + ".htm"
with open(dashname, "w") as html_file:
html_file.write(html_template % url)
return title, desc
def list_to_html_table(list):
yield '<table style="width:600px">'
for sublist in list:
yield ' <tr> <td>'
yield ' </td><td>'.join(sublist)
yield ' </td></tr>'
yield '</table>'
def generate_review_dashes():
table = []
for filename in os.listdir("./"):
if filename.endswith(".yaml"):
title, desc = generate_review_dash(filename)
href = '<a href="%s.htm">%s</a>' % (title, title)
table.append([href, desc])
with open("index.htm", "w") as index_file:
index_file.write('\n'.join(list_to_html_table(table)))
if __name__ == '__main__':
generate_review_dashes()