summaryrefslogtreecommitdiffstats
path: root/vstf/vstf/controller/reporters/report/provider/html_provider.py
diff options
context:
space:
mode:
Diffstat (limited to 'vstf/vstf/controller/reporters/report/provider/html_provider.py')
-rwxr-xr-xvstf/vstf/controller/reporters/report/provider/html_provider.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/vstf/vstf/controller/reporters/report/provider/html_provider.py b/vstf/vstf/controller/reporters/report/provider/html_provider.py
new file mode 100755
index 00000000..b0b07432
--- /dev/null
+++ b/vstf/vstf/controller/reporters/report/provider/html_provider.py
@@ -0,0 +1,63 @@
+#!/usr/bin/python
+# -*- coding: utf8 -*-
+# author: wly
+# date: 2015-09-25
+# see license for license details
+__version__ = ''' '''
+import logging
+
+LOG = logging.getLogger(__name__)
+from vstf.controller.settings.html_settings import HtmlSettings
+from vstf.controller.settings.data_settings import DataSettings
+
+
+class HtmlProvider(object):
+ def __init__(self, content, style):
+ self._content = content
+ self._style = style
+
+ def get_style(self):
+ return self._style["style"]
+
+ def get_subject(self):
+ return self._content["subject"]
+
+ def get_ovs_title(self):
+ return self._content["ovs"]["title"]
+
+ def get_ovs_table(self):
+ return map(lambda x: list(x), self._content["ovs"]["content"].items())
+
+ def get_result_title(self):
+ return self._content["result"]["title"]
+
+ def get_result_table(self, ttype):
+ result = []
+ content = self._content["result"]["content"]
+ if ttype in content:
+ result.append(content[ttype]["columns"])
+ result.extend(content[ttype]["data"])
+
+ result = map(lambda x: list(x), zip(*result))
+ return result
+
+
+class StyleProvider(object):
+ def __init__(self, style):
+ self._style = style
+
+ def get_style(self):
+ return self._style["style"]
+
+
+def unit_test():
+ from vstf.common.log import setup_logging
+ setup_logging(level=logging.DEBUG, log_file="/var/log/html-provder.log", clevel=logging.INFO)
+
+ html_settings = HtmlSettings()
+ LOG.info(html_settings.settings)
+ data_settings = DataSettings()
+ LOG.info(data_settings.settings)
+
+ hprovider = HtmlProvider(data_settings.settings, html_settings.settings)
+ sprovider = StyleProvider(html_settings.settings)