ATLAS Offline Software
Public Member Functions | List of all members
han_lark_tester.AlgorithmNameInterpreter Class Reference
Inheritance diagram for han_lark_tester.AlgorithmNameInterpreter:
Collaboration diagram for han_lark_tester.AlgorithmNameInterpreter:

Public Member Functions

def __init__ (self)
 
def algorithmblock (self, lark.Tree tree)
 
def dirblock (self, lark.Tree tree)
 

Detailed Description

Definition at line 39 of file han_lark_tester.py.

Constructor & Destructor Documentation

◆ __init__()

def han_lark_tester.AlgorithmNameInterpreter.__init__ (   self)

Definition at line 40 of file han_lark_tester.py.

40  def __init__(self):
41  super().__init__()
42 

Member Function Documentation

◆ algorithmblock()

def han_lark_tester.AlgorithmNameInterpreter.algorithmblock (   self,
lark.Tree  tree 
)

Definition at line 43 of file han_lark_tester.py.

43  def algorithmblock(self, tree: lark.Tree):
44  thisalgname = [_.children[0].value for _ in tree.children if isinstance(_, lark.Tree) and _.data == "algorithmname"][0]
45  thisalgrealname = [_ for _ in tree.children if isinstance(_, lark.Tree) and _.data == "realname"]
46  if not thisalgrealname:
47  raise ValueError(f"no underlying algorithm specified for {thisalgname}")
48  for node in tree.children:
49  if node.data == 'algorithmblock':
50  for subnode in node.children:
51  if subnode.data == 'algorithmname':
52  subnode.children[0].value = thisalgname + '/' + subnode.children[0].value
53  if not [_ for _ in node.children if isinstance(_, lark.Tree) and _.data == "realname"]:
54  node.children.append(thisalgrealname[0])
55  self.visit(node)
56 

◆ dirblock()

def han_lark_tester.AlgorithmNameInterpreter.dirblock (   self,
lark.Tree  tree 
)

Definition at line 57 of file han_lark_tester.py.

57  def dirblock(self, tree: lark.Tree):
58  thisdirname = [_.children[0].value for _ in tree.children if isinstance(_, lark.Tree) and _.data == "dirname"][0]
59  for node in tree.children:
60  if node.data == 'dirblock':
61  for subnode in node.children:
62  if subnode.data == 'dirname':
63  subnode.children[0].value = thisdirname + '/' + subnode.children[0].value
64  self.visit(node)
65  elif node.data == 'histblock':
66  for subnode in node.children:
67  if subnode.data == 'histname':
68  subnode.children[0].value = thisdirname + '/' + subnode.children[0].value
69 
70 

The documentation for this class was generated from the following file:
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18