def org_list(config, plain): plain = plain or config.global_config.cli__plain_output header = ["Name", "Default", "Username", "Expires"] persistent_data = [header] scratch_data = [header[:2] + ["Days", "Expired", "Config", "Domain"]] org_configs = { org: config.project_config.keychain.get_org(org) for org in config.project_config.keychain.list_orgs() } rows_to_dim = [] for org, org_config in org_configs.items(): row = [org, org_config.default] if isinstance(org_config, ScratchOrgConfig): org_days = org_config.format_org_days() if org_config.expired: domain = "" else: instance_url = org_config.config.get("instance_url", "") domain = urlparse(instance_url).hostname or "" if domain: domain = domain.replace(".my.salesforce.com", "") row.extend([ org_days, not org_config.active, org_config.config_name, domain ]) scratch_data.append(row) else: username = org_config.config.get( "username", org_config.userinfo__preferred_username) row.append(username) row.append(org_config.expires or "Unknown") persistent_data.append(row) rows_to_dim = [ row_index for row_index, row in enumerate(scratch_data) if row[3] ] scratch_table = CliTable(scratch_data, title="Scratch Orgs", bool_cols=["Default"], dim_rows=rows_to_dim) scratch_table.stringify_boolean_col(col_name="Expired", true_str=CROSSMARK) scratch_table.echo(plain) wrap_cols = ["Username"] if not plain else None persistent_table = CliTable( persistent_data, title="Connected Orgs", wrap_cols=wrap_cols, bool_cols=["Default"], ) persistent_table.echo(plain)
def org_list(config, plain): plain = plain or config.global_config.cli__plain_output header = ["Name", "Default", "Username"] persistent_data = [header] scratch_data = [header[:2] + ["Days", "Expired", "Config"]] org_configs = OrderedDict( (org, config.project_config.keychain.get_org(org)) for org in config.project_config.keychain.list_orgs()) rows_to_dim = [] for org, org_config in org_configs.items(): row = [org, org_config.default] if isinstance(org_config, ScratchOrgConfig): org_days = org_config.format_org_days() row.extend([org_days, org_config.expired, org_config.config_name]) scratch_data.append(row) else: username = org_config.config.get( "username", org_config.userinfo__preferred_username) row.append(username) persistent_data.append(row) rows_to_dim = [ row_index for row_index, row in enumerate(scratch_data) if row[3] or not org_configs[row[0]].date_created ] scratch_table = CliTable(scratch_data, title="Scratch Orgs", bool_cols=["Default"], dim_rows=rows_to_dim) scratch_table.stringify_boolean_col(col_name="Expired", true_str=CROSSMARK) scratch_table.echo(plain) wrap_cols = ["Username"] if not plain else None persistent_table = CliTable( persistent_data, title="Persistent Orgs", wrap_cols=wrap_cols, bool_cols=["Default"], ) persistent_table.echo(plain)