comparison collect_issues.py @ 31:9aca070c86bd

Add the filter 'priority' for the search by status.
author Magnus Schieder <mschieder@intevation.de>
date Thu, 22 Nov 2018 19:34:53 +0100
parents 0d6504d02a6b
children 80bbd06fe8ec
comparison
equal deleted inserted replaced
30:0d6504d02a6b 31:9aca070c86bd
32 CHECK_PRIO_VALUES = "priority?@action=export_csv&@columns=id,name" 32 CHECK_PRIO_VALUES = "priority?@action=export_csv&@columns=id,name"
33 33
34 # Getting the priority of each issue with the filter status ,keywords ,priority 34 # Getting the priority of each issue with the filter status ,keywords ,priority
35 SEARCH_ROUNDUP_PRIO = "issue?@action=export_csv&@columns=priority&@filter=status,keyword,priority&@pagesize=500&@startwith=0&status={status_values}&keyword={keyword_values}&priority={priority_values}" 35 SEARCH_ROUNDUP_PRIO = "issue?@action=export_csv&@columns=priority&@filter=status,keyword,priority&@pagesize=500&@startwith=0&status={status_values}&keyword={keyword_values}&priority={priority_values}"
36 # Getting the status of each issue with the filter keywords, status 36 # Getting the status of each issue with the filter keywords, status
37 SEARCH_ROUNDUP_STATUS = "issue?@action=export_csv&@columns=status&@filter=keyword,status&@pagesize=500&@startwith=0&keyword={keyword_values}&status={status_values}" 37 SEARCH_ROUNDUP_STATUS = "issue?@action=export_csv&@columns=status&@filter=priority,keyword,status&@pagesize=500&@startwith=0&priority={priority_values}&keyword={keyword_values}&status={status_values}"
38 38
39 39
40 def connect_to_server(params, baseurl): 40 def connect_to_server(params, baseurl):
41 enc_data = urllib.parse.urlencode(params).encode() 41 enc_data = urllib.parse.urlencode(params).encode()
42 cj = http.cookiejar.CookieJar() 42 cj = http.cookiejar.CookieJar()
144 cur.close() 144 cur.close()
145 if con: 145 if con:
146 con.close() 146 con.close()
147 147
148 148
149 def save_stats_in_db(search, login_parmeters, baseurl, db_file, columns, sql_create_db, sql_insert_in_db, keywords, status, include_no_prio): 149 def save_stats_in_db(search, login_parmeters, baseurl, db_file, columns, sql_create_db, sql_insert_in_db, keywords, search_parameters, include_no_prio):
150 try: 150 try:
151 151
152 opener = connect_to_server(login_parmeters, baseurl) 152 opener = connect_to_server(login_parmeters, baseurl)
153 153
154 keywords_ids_url, _ = get_ids(opener, baseurl, keywords, CHECK_KEYWORD_VALUES) 154 keywords_ids_url, _ = get_ids(opener, baseurl, keywords,
155 CHECK_KEYWORD_VALUES)
155 156
156 if search == "prio": 157 if search == "prio":
157 status_ids_url, _ = get_ids(opener, baseurl, status, CHECK_STATUS_VALUES, include_no_prio) 158 # search_parameters are statuses.
158 prio_ids_url, columns_ids = get_ids(opener, baseurl, columns, CHECK_PRIO_VALUES, include_no_prio) 159 status_ids_url, _ = get_ids(opener, baseurl,search_parameters ,
159 formated_search_url = SEARCH_ROUNDUP_PRIO.format(status_values=status_ids_url, 160 CHECK_STATUS_VALUES, include_no_prio)
160 keyword_values=keywords_ids_url, priority_values=prio_ids_url) 161 prio_ids_url, columns_ids = get_ids(opener, baseurl, columns,
162 CHECK_PRIO_VALUES, include_no_prio)
163 formated_search_url = SEARCH_ROUNDUP_PRIO.format(
164 status_values=status_ids_url,
165 keyword_values=keywords_ids_url,
166 priority_values=prio_ids_url)
167
161 elif search == "status": 168 elif search == "status":
162 status_ids_url, columns_ids = get_ids(opener, baseurl, columns, CHECK_STATUS_VALUES) 169 # search_parameters are priorities.
163 formated_search_url = SEARCH_ROUNDUP_STATUS.format(keyword_values=keywords_ids_url, 170 prio_ids_url, _ = get_ids(opener, baseurl, search_parameters,
171 CHECK_PRIO_VALUES, include_no_prio)
172 status_ids_url, columns_ids = get_ids(opener, baseurl, columns,
173 CHECK_STATUS_VALUES)
174 formated_search_url = SEARCH_ROUNDUP_STATUS.format(
175 priority_values=prio_ids_url,
176 keyword_values=keywords_ids_url,
164 status_values=status_ids_url) 177 status_values=status_ids_url)
165 178
166 current_issues_csv = get_csv_from_server(opener, baseurl, formated_search_url) 179 current_issues_csv = get_csv_from_server(opener, baseurl,
180 formated_search_url)
167 181
168 opener.close() 182 opener.close()
169 #print(baseurl + formated_search_url) 183 print(baseurl + formated_search_url)
170 184
171 quantities = issues_to_quantities(current_issues_csv, columns_ids) 185 quantities = issues_to_quantities(current_issues_csv, columns_ids)
172 186
173 save_issues_to_db(quantities, db_file, sql_create_db, sql_insert_in_db) 187 save_issues_to_db(quantities, db_file, sql_create_db, sql_insert_in_db)
174 188
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)