def _scopes_to_table(scopes_json): ret = [] for s in scopes_json.get('scopes', []): if "keyvault_metadata" in s: url = s["keyvault_metadata"]["dns_name"] ret.append((truncate_string(s['name']), s['backend_type'], url)) else: ret.append((truncate_string(s['name']), s['backend_type'], "N/A")) return ret
def _runs_to_table(runs_json): ret = [] for r in runs_json.get('runs', []): run_id = r.get('run_id', 'no_run_id') run_name = r.get('run_name', 'no_run_name') life_cycle_state = r.get('state', {}).get('life_cycle_state', 'n/a') result_state = r.get('state', {}).get('result_state', 'n/a') run_page_url = r.get('run_page_url', 'n/a') row = (run_id, truncate_string(run_name), life_cycle_state, result_state, run_page_url) ret.append(row) return ret
def _instance_pools_to_table(instance_pools_json): ret = [] stats_headers = ['idle_count', 'used_count', 'pending_idle_count', 'pending_used_count'] for c in instance_pools_json.get('instance_pools', []): pool_stats = [] pool_stats.append(c['instance_pool_id']) pool_stats.append(truncate_string(c['instance_pool_name'])) for header in stats_headers: pool_stats.append(c['stats'][header]) # clone the content in the pool_stats. Pool_stats will be re-used in next iteration. ret.append(pool_stats[:]) return ret
def _jobs_to_table(jobs_json): ret = [] for j in jobs_json['jobs']: ret.append((j['job_id'], truncate_string(j['settings']['name']))) return sorted(ret, key=lambda t: t[1].lower())
def _clusters_to_table(clusters_json): ret = [] for c in clusters_json.get('clusters', []): ret.append( (c['cluster_id'], truncate_string(c['cluster_name']), c['state'])) return ret
def test_truncate_string(): assert utils.truncate_string('apple', 3) == 'app...' assert utils.truncate_string('apple') == 'apple'
def _scopes_to_table(scopes_json): ret = [] for s in scopes_json.get('scopes', []): ret.append((truncate_string(s['name']), s['backend_type'])) return ret
def _cluster_policies_to_table(policies_json): ret = [] for c in policies_json.get('policies', []): ret.append( (c['policy_id'], truncate_string(c['name']), c['definition'])) return ret