|
2 | 2 | import sys
|
3 | 3 | import json
|
4 | 4 | import os
|
5 |
| -from .file_peeking import get_structure |
| 5 | +from .file_peeking import get_structure |
6 | 6 |
|
7 |
| -def run_from_command(): |
8 |
| - parser = argparse.ArgumentParser(description="CLI tool for retrieving ROOT file structures.") |
9 | 7 |
|
10 |
| - parser.add_argument("dataset", nargs='+', help="Input datasets (Rucio DID) or a JSON file containing datasets in a dict.") |
11 |
| - parser.add_argument("--filter-branch", default="", help="Only display branches containing this string.") |
12 |
| - parser.add_argument("--save-to-txt", action="store_true", help="Save output to a text file instead of printing.") |
| 8 | +def run_from_command(): |
| 9 | + parser = argparse.ArgumentParser( |
| 10 | + description="CLI tool for retrieving ROOT file structures." |
| 11 | + ) |
| 12 | + |
| 13 | + parser.add_argument( |
| 14 | + "dataset", |
| 15 | + nargs="+", |
| 16 | + help="Input datasets (Rucio DID) or a JSON file containing datasets in a dict.", |
| 17 | + ) |
| 18 | + parser.add_argument( |
| 19 | + "--filter-branch", |
| 20 | + default="", |
| 21 | + help="Only display branches containing this string.", |
| 22 | + ) |
13 | 23 |
|
14 | 24 | args = parser.parse_args()
|
15 | 25 |
|
16 | 26 | if len(args.dataset) == 1 and args.dataset[0].endswith(".json"):
|
17 | 27 | dataset_file = args.dataset[0]
|
18 |
| - |
| 28 | + |
19 | 29 | if not os.path.isfile(dataset_file):
|
20 |
| - print(f"\033[91mError: JSON file '{dataset_file}' not found.\033[0m", file=sys.stderr) |
| 30 | + print( |
| 31 | + f"\033[91mError: JSON file '{dataset_file}' not found.\033[0m", |
| 32 | + file=sys.stderr, |
| 33 | + ) |
21 | 34 | sys.exit(1)
|
22 | 35 |
|
23 | 36 | try:
|
24 | 37 | with open(dataset_file, "r") as f:
|
25 |
| - dataset = json.load(f) |
26 |
| - |
| 38 | + dataset = json.load(f) |
| 39 | + |
27 | 40 | if not isinstance(dataset, dict):
|
28 |
| - print(f"\033[91mError: The JSON file must contain a dictionary.\033[0m", file=sys.stderr) |
| 41 | + print( |
| 42 | + f"\033[91mError: The JSON file must contain a dictionary.\033[0m", |
| 43 | + file=sys.stderr, |
| 44 | + ) |
29 | 45 | sys.exit(1)
|
30 |
| - |
| 46 | + |
31 | 47 | except json.JSONDecodeError:
|
32 |
| - print(f"\033[91mError: '{dataset_file}' is not a valid JSON file.\033[0m", file=sys.stderr) |
| 48 | + print( |
| 49 | + f"\033[91mError: '{dataset_file}' is not a valid JSON file.\033[0m", |
| 50 | + file=sys.stderr, |
| 51 | + ) |
33 | 52 | sys.exit(1)
|
34 | 53 |
|
35 | 54 | else:
|
36 | 55 | # If dataset is provided directly in CLI, use it as a list
|
37 | 56 | dataset = args.dataset
|
38 | 57 |
|
39 |
| - result = get_structure(dataset, filter_branch=args.filter_branch, save_to_txt=args.save_to_txt, do_print=False) |
| 58 | + result = get_structure(dataset, filter_branch=args.filter_branch, do_print=False) |
40 | 59 |
|
41 |
| - if not args.save_to_txt: |
42 |
| - print(result) |
43 |
| - else: |
44 |
| - print("Saved to samples_structure.txt") |
| 60 | + print(result) |
0 commit comments