Mercurial > roundup-cc
diff roundup_cc.py @ 25:7161ce4e7ab1
The web-based display is dynamically generated.
* All graphs are passed in one object. All graphs are passed in one object. The
graphs are generated iteratiev and assigned a color.
* roundup_cc.py can count how many issues are in which state.
author | Magnus Schieder <mschieder@intevation.de> |
---|---|
date | Mon, 12 Nov 2018 18:03:26 +0100 |
parents | |
children | 761ee2351f58 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/roundup_cc.py Mon Nov 12 18:03:26 2018 +0100 @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +"""Connect to roundup-tracker and save status to db. + +Run periodically as often as you want data points to be saved. +""" + +import configparser +import argparse + +from collect_issues import save_stats_in_db +import roundup_content_data as rcd + +PRIO = "critical, urgent, bug, feature, wish" +STATES = "unread, deferred, chatting, need_eg, in_progress, testing, done_cbb, resolved" + +def main(): + + 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) + + base_url = config.get("URL", "BaseURL") + + user = config.get("LOGIN","Username") + password = config.get("LOGIN", "Password") + + login_parameters = ( + ("__login_name", user), + ("__login_password", password), + ("@action", "Login"), + ) + + database_file = config.get("DB", "DatabaseFile") + + keywords = config.get("SEARCH", "Keywords", fallback="").split(", ") + + search = config.get("SEARCH", "Search", fallback="prio") + if search == "prio": + list_of_columns = config.get("SEARCH", "Columns", fallback=PRIO).split(", ") + status = config.get("SEARCH", "Status", fallback="").split(", ") + include_no_prio = config.getboolean("SEARCH", "IncludeNoPrio", fallback= False) + if include_no_prio: + list_of_columns += ["None"] + + elif search == "status": + list_of_columns = config.get("SEARCH", "Status", fallback=STATES).split(", ") + status = [""] + + select_all, select_where, create_db, insert_new = \ + rcd.build_sql_commands(list_of_columns) + + save_stats_in_db(search, login_parameters, base_url, database_file, + list_of_columns, create_db, insert_new, keywords, status) + +if __name__ == '__main__': + main()