changeset 18:3da0d624bec0

removing a folder because of an ambiguous name
author sean
date Wed, 05 Aug 2015 13:38:15 +0200
parents 09e3c38a7802
children be6a1aaec717
files modules/roundup_cc/__init__.py modules/roundup_cc/collect_issues.py modules/roundup_cc/display_issues.py modules/roundup_cc/graph.html modules/roundup_cc/roundup_content_data/__init__.py modules/roundup_cc/roundup_content_data/tech_intern.db modules/roundup_cc/roundup_content_data/test_reference.db modules/roundup_cc/webview_template.py
diffstat 8 files changed, 0 insertions(+), 854 deletions(-) [+]
line wrap: on
line diff
--- a/modules/roundup_cc/__init__.py	Wed Aug 05 13:36:26 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-
-""" supplys the data needed to comunicate with the roundup-server,
-and the sqlite database. Represents the types of errors used in roundup.
-
-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 re
-# import , os
-
-import importlib
-
-# from roundup_cc import *
-
-# PATH = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
-
-def make_chart(chart_data_file, target_div_name):
-    mod = importlib.import_module("roundup_cc." + chart_data_file)
-
-    return mod.get_chart(target_div_name)
-
-    # test = exec(open(PATH + "/" + chart_data_file+'.py').read())
-
-    # print(test)
-    # html = eval(chart_data_file+".py")
-    # return html
-    # fp = open(chart_data_file)
-    # contents = fp.read()
-
-    # return exec(chart_data_file.get_chart()
-
-# def get_tech_intern_chart():
-#     return display.render_db_stats_as_html(rcd.DATABASE_TECH_INTERN, rcd.SELECT_ALL)
--- a/modules/roundup_cc/collect_issues.py	Wed Aug 05 13:36:26 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-#!/usr/bin/env python3
-
-""" Fetch issues from a roundup-tracker and save them in a databse.
-
-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
-
-
-##USAGE EXAMPLE: ##
-
-BASE_URL_DEMO = "http://localhost:8917/demo/"
-SEARCH_URL_DEMO = "issue?@action=export_csv&@columns=title,priority&@filter=status&@pagesize=50&@startwith=0&status=-1,1,2,3,4,5,6,7"
-
-LOGIN_PARAMETERS_DEMO = (
-    ("__login_name", "demo"),
-    ("__login_password", "demo"),
-    ("@action", "Login"),
-    )
-
-save_stats_in_db(LOGIN_PARAMETERS_DEMO, BASE_URL_DEMO, rcd.DATABASE_DEMO, rcd.COLUMNS, rcd.CREATE_DB, rcd.INSERT_NEW, SEARCH_URL_DEMO)
-"""
-
-import http.cookiejar
-import urllib.parse
-import urllib.request
-import csv
-import io
-import sqlite3 as db
-import os
-import roundup_cc.roundup_content_data as rcd
-
-
-CHECK_ROUNDUP_ORDER = "priority?@action=export_csv&@columns=id,order"
-CHECK_ROUNDUP_SEARCH_VALUES = "status?@action=export_csv&@columns=id&@filter=open&open=1"
-SEARCH_ROUNDUP = "issue?@action=export_csv&@columns=priority&@filter=status&@pagesize=500&@startwith=0&status=-1,{search_values}"
-
-
-def connect_to_server(params, baseurl):
-    enc_data = urllib.parse.urlencode(params).encode()
-    cj = http.cookiejar.CookieJar()
-    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
-    req = urllib.request.Request(url=baseurl, data=enc_data)
-    opener.open(req)
-    return opener
-
-
-def get_csv_from_server(opener, roundup_url, sub_url):
-    csv_req = urllib.request.Request(url=roundup_url+sub_url)
-    f = opener.open(csv_req)
-    csv_reader = csv.DictReader(io.TextIOWrapper(f))
-    return csv_reader
-
-
-def set_search_paramters_on_URL(url, search_param_csv):
-
-    id_list = []
-
-    for row in search_param_csv:
-        id_list.append(row["id"])
-
-    new_url = url.format(search_values = ",".join(id_list))
-
-    return new_url
-
-
-def check_create_database(database_file, sql_create_db):
-    if not os.path.isfile(database_file):
-        con = None
-        cur = None
-        try:
-            con = db.connect(database_file)
-            cur = con.cursor()
-            try:
-                cur.execute(sql_create_db)
-                con.commit()
-                os.chmod(database_file, 0o644)
-            except:
-                con.rollback()
-                raise
-        finally:
-            if cur:
-                cur.close()
-            if con:
-                con.close()
-
-
-def issues_to_quantities(issue_csv, columns, orders_csv):
-
-    quantities = [0] * len(columns)
-    order_dict = {}
-
-    #convert the csv-dict reader to real dict
-    for row in orders_csv:
-        order_dict[row["id"]] = int(float(row["order"])) # int(float()) because the order-value is indeed "1.0, 2.0" etc
-
-    for issue in issue_csv:
-        priority = issue["priority"]
-
-        if priority.isdigit() == True :
-            quantities[order_dict[priority] -1 ] += 1
-
-    # print("quantities : " + str(quantities))
-
-    return quantities
-
-
-def save_issues_to_db(quantities, database_file, sql_create_db, sql_insert_in_db):
-    check_create_database(database_file, sql_create_db)
-
-    cur = None
-    con = None
-
-    try:
-        con = db.connect(database_file)
-        cur = con.cursor()
-        try:
-            cur.execute(sql_insert_in_db, quantities)
-            con.commit()
-        except:
-            con.rollback()
-            raise
-    finally:
-        if cur:
-            cur.close()
-        if con:
-            con.close()
-
-
-def save_stats_in_db(login_parmeters, baseurl, db_file, columns, sql_create_db, sql_insert_in_db, searchurl=False):
-    try:
-
-        opener = connect_to_server(login_parmeters, baseurl)
-
-        search_operators_csv = get_csv_from_server(opener, baseurl, CHECK_ROUNDUP_SEARCH_VALUES)
-        order_csv = get_csv_from_server(opener, baseurl, CHECK_ROUNDUP_ORDER)
-
-        if searchurl == False:
-            formated_search_url = set_search_paramters_on_URL(SEARCH_ROUNDUP, search_operators_csv)
-        else:
-            formated_search_url = searchurl
-
-        current_issues_csv = get_csv_from_server(opener, baseurl, formated_search_url)
-
-        opener.close()
-
-        quantities = issues_to_quantities(current_issues_csv, columns, order_csv)
-
-        save_issues_to_db(quantities, db_file, sql_create_db, sql_insert_in_db)
-
-    except urllib.error.URLError as e:
-        print("No Valid Connection to server : " + baseurl + "\nerror: " + str(e))
--- a/modules/roundup_cc/display_issues.py	Wed Aug 05 13:36:26 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-#!/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
-
-
-##Usage Example: ##
-
-render_db_stats_as_html(rcd.DATABASE_DEMO, rcd.SELECT_ALL)
-"""
-
-import sqlite3 as db
-import cgitb, os, sys, inspect
-import roundup_cc.roundup_content_data as rcd
-
-PATH = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
-HTML_DATA = "graph.html"
-PATH_TO_HTML = PATH + "/" + HTML_DATA
-
-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(PATH_TO_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):
-#     webpage_string = ""
-#     for line in content.split("\n"):
-#         print(line)
-
-
-def render_db_stats_as_html(db_file, sql_select):
-
-    con = None
-    cur = None
-
-    try:
-        con = db.connect(db_file)
-        cur = con.cursor()
-        cur.execute(sql_select)
-
-        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())
-    # print(get_webpage())
-    return get_webpage()
-
-# cgitb.enable()
-# print("Content-Type: text/html")
-# print()
--- a/modules/roundup_cc/graph.html	Wed Aug 05 13:36:26 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,412 +0,0 @@
-<style type = text/css>
-
-	* {
-		font-family: "Sans-serif";
-		font-size: 14px;
-	}
-
-	.svg div{
-			font: 10px;
-			text-align: right;
-			float: left;
-			display: block;
-			padding: 10px;
-			margin: 10px;
-			color: white;
-	}
-
-	.axis path,
-
-	.axis line {
-			fill: none;
-			stroke: lightgrey;
-			/*opacity: 0.7;*/
-			stroke-width: 1px;
-	}
-
-	.y.axis path {
-	  display: none;
-	}
-
-	.line {
-			fill: none;
-			stroke-width: 3px;
-			opacity: 1;
-	}
-
-	.line.critical {
-			stroke: red;
-	}
-
-	.line.critical.legend {
-			fill: red;
-	}
-
-	.line.urgent {
-			stroke: orange;
-	}
-
-	.line.urgent.legend {
-			fill: orange;
-	}
-
-	.line.bug {
-			stroke: violet;
-	}
-
-	.line.bug.legend {
-			fill: violet;
-	}
-
-	.line.feature {
-			stroke: chartreuse;
-			style: stroke-dasharray;
-	}
-
-	.line.feature.legend {
-			fill: chartreuse;
-	}
-
-	.line.wish {
-			stroke: blue;
-	}
-
-	.line.wish.legend {
-			fill: blue;
-	}
-
-	.grid .tick {
-			stroke: lightgrey;
-			/*opacity: 0.7;*/
-	}
-
-	.grid path {
-			stroke-width: 0;
-	}
-
-</style>
-
-<!-- <div id="content" style="display: inline-block"></div> -->
-<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="utf-8"></script>
-<script type="text/javascript">
-
-	// window.onresize = function(){
-	// 	document.getElementsByClassName("chart")[0].innerHTML = "";
-	// 	makeChart();
-	// };
-
-	var d3jsInjectionTarget="X";
-
-	var critical=[];
-	var urgent=[];
-	var bug=[];
-	var feature=[];
-	var wish=[];
-	var timestamp=[];
-
-	// var critical=[
-	// 		{points: 4},
-	// 		{points: 12},
-	// 		{points: 8},
-	// 		{points: 2}
-	// 	]
-	//
-	// var urgent=[
-	// 		{points: 3},
-	// 		{points: 24},
-	// 		{points: 17},
-	// 		{points: 19}
-	// 	]
-	//
-	// var bug=[
-	// 		{points: 10},
-	// 		{points: 2},
-	// 		{points: 2},
-	// 		{points: 12}
-	// 	]
-	//
-	// var feature=[
-	// 		{points: 4},
-	// 		{points: 21},
-	// 		{points: 12},
-	// 		{points: 4}
-	// 	]
-	//
-	// var wish=[
-	// 		{points: 22},
-	// 		{points: 18},
-	// 		{points: 32},
-	// 		{points: 10}
-	// 	]
-	//
-	//
-	// var timestamp=[
-	// 		{date : new Date('2015-06-30T12:36:47')},
-	// 		{date : new Date('2015-07-01T12:37:26')},
-	// 		{date : new Date('2015-07-02T12:38:26')},
-	// 		{date : new Date('2015-07-03T12:39:26')}
-	// 	]
-
-	document.addEventListener("DOMContentLoaded", function(event) {
-		makeChart();
-	});
-
-	function assignIssueToDate(issueArray, dateArray){
-		a = [];
-		for (var i = 0; i < issueArray.length; i++) {
-			a.push({points: issueArray[i].points, date : dateArray[i].date});
-		}
-
-		return a;
-	}
-
-	function limitDatesOnXAxis(limit){
-		if (timestamp.length < limit){
-			return timestamp.length;
-		} else {
-			return limit;
-		}
-	}
-
-	function maxInObject( array ){
-		var maxVal = 0;
-		for (var i = 0; i < array.length; i++) {
-			if (maxVal < array[i].points){
-				maxVal = array[i].points;
-			}
-		}
-		return maxVal;
-	}
-
-
-	function getMaxIssues(){
-		maxIssuesOfAllArrays = [];
-		maxIssuesOfAllArrays.push(maxInObject(critical));
-		maxIssuesOfAllArrays.push(maxInObject(urgent));
-		maxIssuesOfAllArrays.push(maxInObject(bug));
-		maxIssuesOfAllArrays.push(maxInObject(feature));
-		maxIssuesOfAllArrays.push(maxInObject(wish));
-
-		return Math.max.apply(Math, maxIssuesOfAllArrays)+1;
-	}
-
-
-	function dayDifference(first, second) {
-		"use strict";
-		var difference = (second - first) / (1000 * 60 * 60 * 24);
-
-		// just to avoid the get thousands of lines... would look ugly.
-		if (difference > 60){
-			difference = 60;
-		}
-
-		return difference;
-	}
-
-
-	// function for the grid lines
-	function makeGrid(direction, orientation, ticknumber) {
-		return d3.svg.axis()
-			.scale(direction)
-			.orient(orientation)
-			.ticks( ticknumber );
-	}
-
-
-	//append a svg_path. pretty generic
-	function draw_line(svg, data_array, css_class, line_object, lineShape){
-		svg.append("path")
-			.datum(assignIssueToDate(data_array, timestamp))
-			.attr("class", css_class)
-			.style("stroke-dasharray", (lineShape))
-			.attr("d", line_object);
-	}
-
-
-	function makeLegend(svg, width){
-
-		var legend_distance = width+40;
-		var top_distance = 20;
-		var distance_steps = 50;
-
-
-		function set_propper_distance(steps){
-			top_distance += steps;
-			return top_distance;
-		}
-
-		function draw_legend_line(svg, width, Ypos, text, issues){
-			svg.append("svg:text")
-				.attr("class", "legend")
-				.attr("x", width-30	)
-				.attr("y", Ypos)
-				.text(text + ":");
-
-			svg.append("svg:text")
-				.attr("class", "legend")
-				.attr("x", width+35	)
-				.attr("y", Ypos)
-				.text(issues);
-
-			svg.append("rect")
-				.attr("class", "line " + text.toLowerCase() + " legend")
-				.attr("x", width-30)
-				.attr("y", Ypos-20)
-				.attr("width", 100)
-				.attr("height", 2);
-		}
-
-		draw_legend_line(svg, legend_distance, set_propper_distance(distance_steps), "Critical", critical[critical.length-1].points);
-		draw_legend_line(svg, legend_distance, set_propper_distance(distance_steps), "Urgent", urgent[urgent.length-1].points);
-		draw_legend_line(svg, legend_distance, set_propper_distance(distance_steps), "Bug", bug[bug.length-1].points);
-		draw_legend_line(svg, legend_distance, set_propper_distance(distance_steps), "Feature", feature[feature.length-1].points);
-		draw_legend_line(svg, legend_distance, set_propper_distance(distance_steps), "Wish", wish[wish.length-1].points);
-	}
-
-
-
-	//draw the chart
-	function makeChart(div_name){
-
-		//declaration
-		var sizeOfSystemBorders = 20;
-		// var margin = {top: 20, right: 100, bottom: 90, left: 60};
-		// var margin = {top: 0, right: 0, bottom: 0, left: 0}
-
-		var width = document.getElementsByClassName("chart")[0].clientWidth;
-		var height = document.getElementsByClassName("chart")[0].clientHeight;
-		// var	width = (document.documentElement.clientWidth-sizeOfSystemBorders) - margin.left - margin.right;
-		// var	height = (document.documentElement.clientHeight-sizeOfSystemBorders) - margin.top - margin.bottom;
-
-		var x = d3.time.scale()
-			.range([0, width]);
-
-		var y = d3.scale.linear()
-			.range([height, 0]);
-
-		var base_line = d3.svg.line()
-			.x(function(d) { return x(d.date); })
-			.y(function(d) { return y(d.points); });
-
-		//lines
-		var criticalLine = base_line;
-		var urgentLine = base_line;
-		var bugLine = base_line;
-		var featureLine = base_line;
-		var wishLine = base_line;
-		var timestampLine = base_line;
-
-
-		//set domain of y axis
-		var yDomain = [	];
-		yDomain[0] = 0;
-		yDomain[1] = getMaxIssues();
-		y.domain(d3.extent(yDomain, function(d){return d; }));
-
-		//set domain of y axis
-		x.domain(d3.extent(timestamp, function(d){return d.date; }));
-
-
-		var xAxis = d3.svg.axis()
-			.scale(x)
-			.orient("bottom")
-			.ticks(limitDatesOnXAxis(10))
-			.tickFormat(d3.time.format("%d.%m"));
-			// .tickFormat(d3.time.format("%d.%m:%H:%M"));
-			// .tickFormat(d3.time.format("%X"));
-			// .tickFormat(d3.time.format.iso);
-
-
-		var yAxis = d3.svg.axis()
-			.scale(y)
-			.orient("left");
-
-
-		var svg = d3.select("." + d3jsInjectionTarget)
-			.append("svg")
-			.attr("class", "svg")
-			// .attr("width", width)
-			// .attr("height", height)
-			.attr("width", width-20)
-			.attr("height", height-10)
-			.append("g")
-			// .attr("transform", "translate( +50,+0,+0,+0)");
-			.attr("transform", "translate(40 , 0)");
-
-
-		// creation
-
-
-		// Draw the x Grid lines
-		// svg.append("g")
-		// 	.attr("class", "grid")
-		// 	.attr("transform", "translate(0," + height + ")")
-		// 	.call(makeGrid(x, "bottom", timestamp.length)
-		// 		.tickSize(-height, 0, 0)
-		// 		.tickFormat("")
-		// 	);
-
-
-		// Draw the y Grid lines
-		svg.append("g")
-			.attr("class", "grid")
-			.call(makeGrid(y, "left", function(){return Math.min(getMaxIssues(), 10);}())
-				.tickSize(-width, 0, 0)
-				.tickFormat("")
-			);
-
-
-		// Draw the x-axis
-		svg.append("g")
-			.attr("class", "x axis")
-			// .attr("transform", "translate(0, " + 20-height + ")")
-			.call(xAxis)
-			.selectAll("text")
-			.style("text-anchor", "end")
-			// .attr("dx", "-.5em")
-			// .attr("dy", ".1em")
-			// .attr("transform", function() {
-			// 	return "rotate(-30)";
-			// });
-
-
-		// Draw the y-axis
-		svg.append("g")
-			.attr("class", "y axis")
-			.call(yAxis)
-			.append("text")
-			.attr("transform", "rotate(-90)")
-			.attr("y", 6)
-			.attr("dy", ".71em")
-			.style("text-anchor", "end");
-
-
-		// Text for y-axis
-		// svg.append("text")
-		// 	.attr("transform", "rotate(-90)")
-		// 	.attr("y", 10 - margin.left)
-		// 	.attr("x", 0 - (height / 2))
-		// 	.attr("dy", "1em")
-		// 	.style("text-anchor", "middle")
-		// 	.text("Issues");
-
-
-		//Titel und Legende
-		// svg.append("svg:text")
-		// 	.attr("class", "text")
-		// 	.attr("x", 10)
-		// 	.attr("y", -5)
-		// 	.text("Issues Nach Zeit");
-
-		draw_line(svg, wish, "line wish", wishLine, "0, 0");
-		draw_line(svg, feature, "line feature", featureLine, "3, 3");
-		draw_line(svg, bug, "line bug", bugLine, "7, 7");
-		draw_line(svg, urgent, "line urgent", urgentLine, "13, 13");
-		draw_line(svg, critical, "line critical", criticalLine, "17, 17");
-
-
-		// makeLegend(svg, width);
-	}
-
-
-</script>
--- a/modules/roundup_cc/roundup_content_data/__init__.py	Wed Aug 05 13:36:26 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-#!/usr/bin/env python
-
-""" supplys the data needed to comunicate with the roundup-server,
-and the sqlite database. Represents the types of errors used in roundup.
-
-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 os
-
-#Add desired sqlite databases here
-DATABASE_REFERENCCE = os.path.dirname(os.path.realpath(__file__)) + "/test_reference.db"
-DATABASE_DEMO = os.path.dirname(os.path.realpath(__file__)) + "/demo.db"
-DATABASE_ERRORDB = os.path.dirname(os.path.realpath(__file__)) + "/errordatabase.db"
-DATABASE_TECH_INTERN = os.path.dirname(os.path.realpath(__file__)) + "/tech_intern.db"
-DATABASE_INT_TEST = os.path.dirname(os.path.realpath(__file__)) + "/int_test.db"
-
-COLUMNS= [
-    "critical", "urgent", "bug", "feature", "wish",
-]
-
-data_dict = {
-    "date": [],
-    "critical": [],
-    "urgent": [],
-    "bug": [],
-    "feature": [],
-    "wish": []
-}
-
-#SQL
-
-#DEMO System
-SELECT_ALL = """
-SELECT strftime("%Y-%m-%dT%H:%M:%S", timestamp),
-    critical,
-    urgent,
-    bug,
-    feature,
-    wish
-FROM issues
-ORDER BY timestamp
-"""
-
-
-CREATE_DB = """
-CREATE TABLE issues (
-    timestamp TIMESTAMP NOT NULL UNIQUE DEFAULT current_timestamp,
-    critical INTEGER NOT NULL DEFAULT 0,
-    urgent INTEGER NOT NULL DEFAULT 0,
-    bug INTEGER NOT NULL DEFAULT 0,
-    feature INTEGER NOT NULL DEFAULT 0,
-    wish INTEGER NOT NULL DEFAULT 0
-)
-"""
-
-
-INSERT_NEW = """
-    INSERT INTO issues (critical, urgent, bug, feature, wish)
-    VALUES (?, ?, ?, ?, ?)
-"""
-
-#Referecen DB:
-SELECT_ALL_REFERENCE = """
-SELECT strftime("%Y-%m-%dT%H:%M:%S", sample_time),
-    critical,
-    major,
-    crash,
-    normal,
-    minor,
-    wishlist
-FROM issues
-ORDER BY sample_time
-"""
\ No newline at end of file
Binary file modules/roundup_cc/roundup_content_data/tech_intern.db has changed
Binary file modules/roundup_cc/roundup_content_data/test_reference.db has changed
--- a/modules/roundup_cc/webview_template.py	Wed Aug 05 13:36:26 2015 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-#!/usr/bin/env python3
-
-""" Simple Template to use the Web-View Module
-
-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
-
----
-How to write a web-view module?
----
-
-declare a specific tile in the dash.conf. for example:
-
----
-[tile5]
-type=d3js
-div_name=webview_test
-script=webview_template
----
-(this will work for this file, see dash.conf for details)
-
-bottledash will look for a "get_chart(target_div_name)"-methode wich shall
-return valid HTML-code (as string!).
-
-the "target_div_name" is the "div_name" you delared in the dash.conf-file.
-In our case, "tile5" would be in the css-class "webview_test". You can use
-the "target_div_name" for dynamic DOM-Manipulations (like with d3js and jQuery)
-
-If you want to use a python import, please use "importlib" inside the
-get_chart-function.
-
-see <https://docs.python.org/3/library/importlib.html> for details
-
-To not try to import your own modules using the regular
-python import-keyword! You can however import every regular
-python-standard-library using the "import" keyword
-
-"""
-
-import importlib
-
-def get_chart(target_div_name):
-    html_string = """
-<style type = text/css>
-
-.%s {
-    color: red;
-}
-
-</style>
-
-<div id = "hello">
-    Hello World!
-</div>
-    """ % target_div_name
-
-    return html_string
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)