Print output as JSON or human-readable text. Args: data: Dict or list to output. as_json: Whether to output as JSON.
(data, as_json=False)
| 23 | |
| 24 | |
| 25 | def _output(data, as_json=False): |
| 26 | """Print output as JSON or human-readable text. |
| 27 | |
| 28 | Args: |
| 29 | data: Dict or list to output. |
| 30 | as_json: Whether to output as JSON. |
| 31 | """ |
| 32 | if as_json: |
| 33 | click.echo(json.dumps(data, indent=2, default=str)) |
| 34 | else: |
| 35 | if isinstance(data, dict): |
| 36 | for k, v in data.items(): |
| 37 | if isinstance(v, dict): |
| 38 | click.echo(f"{k}:") |
| 39 | for kk, vv in v.items(): |
| 40 | click.echo(f" {kk}: {vv}") |
| 41 | elif isinstance(v, list): |
| 42 | click.echo(f"{k}: [{len(v)} items]") |
| 43 | else: |
| 44 | click.echo(f"{k}: {v}") |
| 45 | elif isinstance(data, list): |
| 46 | for item in data: |
| 47 | if isinstance(item, dict): |
| 48 | line = " ".join(f"{k}={v}" for k, v in item.items()) |
| 49 | click.echo(f" {line}") |
| 50 | else: |
| 51 | click.echo(f" {item}") |
| 52 | |
| 53 | |
| 54 | def _load_project(ctx): |
no outgoing calls
no test coverage detected