DAS  3.0
Das Analysis System
helper Namespace Reference

Classes

class  Tutorial
 

Functions

def parse_lhs (args)
 
def parse_rhs (helper, args)
 
def main ()
 

Variables

 NPROC = multiprocessing.cpu_count()
 

Function Documentation

◆ main()

def helper.main ( )
Write custom helper on the fly to trick prefix commands
84 def main():
85  """Write custom helper on the fly to trick prefix commands"""
86 
87  helper_expl_args, helper_pos_args, rhs_args = parse_lhs(sys.argv[1:])
88 
89  cmd_args = parse_rhs(helper_pos_args, rhs_args)
90 
91  if helper_expl_args.verbose:
92  print(cmd_args)
93 
94  # print extensions if requested
95  if cmd_args.input_ext or cmd_args.output_ext:
96  if cmd_args.input_ext:
97  print(" ".join(helper_expl_args.input_ext))
98  if cmd_args.output_ext:
99  print(" ".join(helper_expl_args.output_ext))
100  sys.exit(1)
101 
102  exp_nargs = len(helper_pos_args) - 1
103  got_nargs = len(cmd_args.positional)
104  if got_nargs != exp_nargs:
105  raise ValueError(
106  f"Expected {exp_nargs} argument(s), got {got_nargs} argument(s)."
107  )
108 
109  if helper_expl_args.verbose:
110  sys.exit(1)
111 
112  if cmd_args.print_positional:
113  # print the positional arguments
114  print(" ".join(cmd_args.positional))
115 
116 

◆ parse_lhs()

def helper.parse_lhs (   args)
Parses arguments until double hyphen.
21 def parse_lhs(args):
22  """Parses arguments until double hyphen."""
23 
24  main_parser = ArgumentParser(add_help=False)
25 
26  main_parser.add_argument("-h", "--help", action="store_true")
27  main_parser.add_argument("-t", "--tutorial", nargs="?", action=Tutorial)
28  main_parser.add_argument("-v", "--verbose", action="store_true")
29  main_parser.add_argument("-i", "--input_ext", nargs=1, default=[], action="extend")
30  main_parser.add_argument("-o", "--output_ext", nargs=1, default=[], action="extend")
31 
32  # \todo `-i/o` when `multiple inputs
33 
34  # custom will be in args
35  expl_args, pos_args = main_parser.parse_known_intermixed_args(sys.argv[1:])
36 
37  if len(sys.argv) == 1 or expl_args.help:
38  print(
39  "helper exec [input(s)] [output(s)] [args] [-i .ext] [-o .ext] [-j] [-h] [-v] -- [exec options]"
40  )
41  sys.exit(0)
42 
43  if not "--" in pos_args:
44  raise ValueError("Expecting values after double-hyphen")
45 
46  sep = pos_args.index("--")
47  helper_pos_args = pos_args[:sep]
48  cmd_pos_args = pos_args[sep + 1 :]
49 
50  if expl_args.verbose:
51  print("Explicit arguments: " + " ".join(helper_pos_args))
52  print("Positional arguments: " + " ".join(cmd_pos_args))
53 
54  return expl_args, helper_pos_args, cmd_pos_args
55 
56 

◆ parse_rhs()

def helper.parse_rhs (   helper,
  args 
)
Parses arguments following the double hyphen.
57 def parse_rhs(helper, args):
58  """Parses arguments following the double hyphen."""
59 
60  cmd_parser = ArgumentParser(add_help=False)
61  cmd_parser.add_argument("positional", nargs="*", type=str)
62  cmd_parser.add_argument("-h", "--help", action="store_true")
63  cmd_parser.add_argument("-i", "--input_ext", action="store_true")
64  cmd_parser.add_argument("-o", "--output_ext", action="store_true")
65  cmd_parser.add_argument(
66  "-%", "--prefix", nargs=1, type=str, default="", help=argparse.SUPPRESS
67  ) # \todo Handle metainfo
68  cmd_parser.add_argument(
69  "-?", "--print-positional", action="store_true", help=argparse.SUPPRESS
70  )
71  cmd_args = cmd_parser.parse_intermixed_args(args)
72 
73  # print helper
74  if cmd_args.help or len(args) == 0:
75  print(" ".join(helper))
76  # \note The detail about positional arguments are not required
77  # by the prefix commands. Some details about explicit
78  # arguments would be needed to implement -j.
79  sys.exit(1) # needed to make the calling script end too
80 
81  return cmd_args
82 
83 

Variable Documentation

◆ NPROC

NPROC = multiprocessing.cpu_count()
helper.main
def main()
Definition: helper.py:84
helper.parse_lhs
def parse_lhs(args)
Definition: helper.py:21
join
PseudoJet join(const std::vector< PseudoJet > &pieces)
Definition: fjcore.hh:1245
helper.parse_rhs
def parse_rhs(helper, args)
Definition: helper.py:57