b0b074320714748a205bed16645d2a2d92b73504
[bottlenecks.git] / vstf / vstf / controller / reporters / report / provider / html_provider.py
1 #!/usr/bin/python
2 # -*- coding: utf8 -*-
3 # author: wly
4 # date: 2015-09-25
5 # see license for license details
6 __version__ = ''' '''
7 import logging
8
9 LOG = logging.getLogger(__name__)
10 from vstf.controller.settings.html_settings import HtmlSettings
11 from vstf.controller.settings.data_settings import DataSettings
12
13
14 class HtmlProvider(object):
15     def __init__(self, content, style):
16         self._content = content
17         self._style = style
18
19     def get_style(self):
20         return self._style["style"]
21
22     def get_subject(self):
23         return self._content["subject"]
24
25     def get_ovs_title(self):
26         return self._content["ovs"]["title"]
27
28     def get_ovs_table(self):
29         return map(lambda x: list(x), self._content["ovs"]["content"].items())
30
31     def get_result_title(self):
32         return self._content["result"]["title"]
33
34     def get_result_table(self, ttype):
35         result = []
36         content = self._content["result"]["content"]
37         if ttype in content:
38             result.append(content[ttype]["columns"])
39             result.extend(content[ttype]["data"])
40
41             result = map(lambda x: list(x), zip(*result))
42         return result
43
44
45 class StyleProvider(object):
46     def __init__(self, style):
47         self._style = style
48
49     def get_style(self):
50         return self._style["style"]
51
52
53 def unit_test():
54     from vstf.common.log import setup_logging
55     setup_logging(level=logging.DEBUG, log_file="/var/log/html-provder.log", clevel=logging.INFO)
56
57     html_settings = HtmlSettings()
58     LOG.info(html_settings.settings)
59     data_settings = DataSettings()
60     LOG.info(data_settings.settings)
61
62     hprovider = HtmlProvider(data_settings.settings, html_settings.settings)
63     sprovider = StyleProvider(html_settings.settings)