Mercurial > roundup-cc
view roundup_cc.py @ 36:59e1659a0a0b tip
Update 'TODO.creole'
* Old TODOs moved to 'doc/old_TODO.creole'
author | Magnus Schieder <mschieder@intevation.de> |
---|---|
date | Mon, 26 Nov 2018 16:52:45 +0100 |
parents | 80bbd06fe8ec |
children |
line wrap: on
line source
#!/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 # Default priorities of 'roundup'. PRIO = "critical, urgent, bug, feature, wish" # Default statuses of 'roundup'. 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) # URL of the issue tracker 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(", ") include_no_prio = config.getboolean("SEARCH", "IncludeNoPrio", fallback= False) search = config.get("SEARCH", "Search", fallback="prio") if search == "prio": list_of_columns = config.get("SEARCH", "Priority", fallback=PRIO).split(", ") search_parameters = config.get("SEARCH", "Status", fallback="").split(", ") if include_no_prio: list_of_columns += ["None"] elif search == "status": list_of_columns = config.get("SEARCH", "Status", fallback=STATES).split(", ") search_parameters = config.get("SEARCH", "Priority", fallback="").split(", ") if include_no_prio: search_parameters += ["None"] else: print("Incorrect [SEARCH]Search parameter. (prio, status)") return # roundup uses a "-" in its search parameters. Sql can't handle it. sql_list_of_columns = [] for column in list_of_columns: sql_list_of_columns.append(column.replace("-", "_")) select_all, select_where, create_db, insert_new = \ rcd.build_sql_commands(sql_list_of_columns) save_stats_in_db(search, login_parameters, base_url, database_file, list_of_columns, create_db, insert_new, keywords, search_parameters, include_no_prio) if __name__ == '__main__': main()