view display_issues_demo.py @ 26:761ee2351f58

Change the parameter read in. * The structure was changed and better names used.
author Magnus Schieder <mschieder@intevation.de>
date Tue, 13 Nov 2018 17:55:10 +0100
parents 7161ce4e7ab1
children e2864dabdb8c
line wrap: on
line source
#!/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, 2018 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 configparser
import argparse
from display_issues import *

def main():
    PRIO = "critical, urgent, bug, feature, wish"
    STATES = "unread, deferred, chatting, need_eg, in_progress, testing, done_cbb, resolved"

    parser = argparse.ArgumentParser()
    parser.add_argument("config_file", type=str, metavar="[config file]")
    args = parser.parse_args()

    config = configparser.ConfigParser()
    config.read(args.config_file)

    db = config.get("DB", "DatabaseFile")
    keywords = config.get("SEARCH", "Keywords", fallback="")


    search = config.get("SEARCH", "Search", fallback="prio")
    if search == "prio":
        status = config.get("SEARCH", "Status", fallback="")
        columns = config.get("SEARCH", "Priority", fallback=PRIO)
        noPrio = config.get("SEARCH", "IncludeNoPrio", fallback=False)
        if noPrio:
            columns += ", None"

    elif search == "status":
        columns = config.get("SEARCH", "Status", fallback=STATES)
        status = ""

    else:
        print("Incorrect [SEARCH]Search parameter. (prio, status)")
        return


    cgitb.enable() # (optional) HTML traceback to browser
    #render_db_stats_as_html("./demo1.db", rcd.SELECT_ALL)
    render_db_stats_as_html(db,
            rcd.build_sql_select(columns).format("timestamp > date('now', '-2 month')"),
            columns, status, keywords)

if __name__ == '__main__':
    main()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)