diff display_issues @ 0:3f139db894f1

initial commit
author sean
date Thu, 02 Apr 2015 09:51:19 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/display_issues	Thu Apr 02 09:51:19 2015 +0200
@@ -0,0 +1,91 @@
+#!/usr/bin/env python3
+
+""" Display previously saved issues from a database on webpage via CGI.
+
+author: Sascha L. Teichmann <sascha.teichmann@intevation.de>
+author: Bernhard Reiter <bernhard@intevation.de>
+author: Sean Engelhardt <sean.engelhardt@intevation.de>
+
+(c) 2010,2015 by Intevation GmbH
+
+This is Free Software unter the terms of the
+GNU GENERAL PUBLIC LICENSE Version 3 or later.
+See http://www.gnu.org/licenses/gpl-3.0.txt for details
+"""
+
+import sqlite3 as db
+import cgitb
+import roundup_content_data as rcd
+
+
+def make_js_object_string(array):
+    formated = []
+
+    for item in array:
+        formated.append("{points: " + str(item) + "}")
+
+    return ",".join(formated)
+
+
+def make_js_object_date(array):
+    formated = []
+
+    for item in array:
+        formated.append("{date : new Date('" + str(item) + "')}")
+
+    return ", ".join(formated)
+
+
+def get_webpage():
+
+    with open ("graph.html", "r") as html_chart_file:
+        base_html_data = html_chart_file.read()
+
+    base_html_data = (base_html_data
+        .replace("var critical=[];", "var critical=[" + make_js_object_string(rcd.data_dict["critical"]) + "]")
+        .replace("var urgent=[];", "var urgent=[" + make_js_object_string(rcd.data_dict["urgent"]) + "]")
+        .replace("var bug=[];", "var bug=[" + make_js_object_string(rcd.data_dict["bug"]) + "]")
+        .replace("var feature=[];", "var feature=[" + make_js_object_string(rcd.data_dict["feature"]) + "]")
+        .replace("var wish=[];", "var wish=[" + make_js_object_string(rcd.data_dict["wish"]) + "]")
+        .replace("var timestamp=[];", "var timestamp=[" + make_js_object_date(rcd.data_dict["date"]) + "]"))
+
+    return base_html_data
+
+
+def render_webpage(content):
+    for line in content.split("\n"):
+        print(line)
+
+
+def render_db_stats_as_html():
+
+    con = None
+    cur = None
+
+    try:
+        con = db.connect(rcd.DATABASE_FILE)
+        cur = con.cursor()
+        cur.execute(rcd.SELECT_ALL)
+
+        for row in cur.fetchall():
+            rcd.data_dict["date"].append(row[0])
+            rcd.data_dict["critical"].append(row[1])
+            rcd.data_dict["urgent"].append(row[2])
+            rcd.data_dict["bug"].append(row[3])
+            rcd.data_dict["feature"].append(row[4])
+            rcd.data_dict["wish"].append(row[5])
+    finally:
+        if cur:
+            cur.close()
+        if con:
+            con.close()
+
+    render_webpage(get_webpage())
+
+
+cgitb.enable()
+print("Content-Type: text/html")
+print()
+
+
+render_db_stats_as_html()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)