Rubbos heat template update
[bottlenecks.git] / vstf / vstf / controller / reporters / report / html / html_text.py
1 #!/usr/bin/python
2 # -*- coding: utf8 -*-
3 # author: wly
4 # date: 2015-09-24
5 # see license for license details
6 __version__ = ''' '''
7
8 import logging
9
10 LOG = logging.getLogger(__name__)
11 import vstf.common.constants as cst
12 from vstf.controller.reporters.report.html.html_base import *
13
14
15 class HtmlCreator(HtmlBase):
16     def add_subject(self):
17         title = self._provider.get_subject()
18         self._page << H1(title)
19
20     def add_ovs(self):
21         title = "%s %s" % (self._chapter, self._provider.get_ovs_title())
22         self._page << H2(title)
23         data = self._provider.get_ovs_table()
24         self.add_table(data)
25         self._chapter += 1
26
27     def add_result(self):
28         title = "%s %s" % (self._chapter, self._provider.get_result_title())
29         self._page << H2(title)
30
31         section = 1
32         for ttype in cst.TTYPES:
33             data = self._provider.get_result_table(ttype)
34             if data:
35                 title = "%s.%s %s" % (self._chapter, section, ttype.title())
36                 self._page << H3(title)
37                 self.add_table(data)
38                 section += 1
39         self._chapter += 1
40
41     def create_story(self):
42         self.add_subject()
43         self.add_ovs()
44         self.add_result()
45
46
47 def unit_test():
48     from vstf.common.log import setup_logging
49     setup_logging(level=logging.DEBUG, log_file="/var/log/html-test.log", clevel=logging.INFO)
50
51     from vstf.controller.settings.html_settings import HtmlSettings
52     from vstf.controller.settings.data_settings import DataSettings
53
54     html_settings = HtmlSettings()
55     LOG.info(html_settings.settings)
56     data_settings = DataSettings()
57     LOG.info(data_settings.settings)
58
59     from vstf.controller.reporters.report.provider.html_provider import HtmlProvider
60     provider = HtmlProvider(data_settings.settings, html_settings.settings)
61     html = HtmlCreator(provider)
62
63     result = html.create()
64     print result
65
66
67 if __name__ == '__main__':
68     unit_test()