Esempio n. 1
0
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)
Esempio n. 2
0
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)