DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
cider.data_structures.selection_interface.RelationalSelectionMenu Class Reference
Inheritance diagram for cider.data_structures.selection_interface.RelationalSelectionMenu:
[legend]
Collaboration diagram for cider.data_structures.selection_interface.RelationalSelectionMenu:
[legend]

Public Member Functions

 __repr__ (self)
 
- Public Member Functions inherited from cider.data_structures.selection_interface.SelectionInterface
 __init__ (self, StructuredConfiguration config_handler)
 
None recompose (self)
 
 relationships (self)
 

Protected Member Functions

 _build_relational_dict (self)
 
- Protected Member Functions inherited from cider.data_structures.selection_interface.SelectionInterface

Private Member Functions

 __build_node (self, conf_obj)
 

Additional Inherited Members

- Protected Attributes inherited from cider.data_structures.selection_interface.SelectionInterface
 _handler = config_handler
 
dict _relational_dict = self._build_relational_dict()
 

Detailed Description

 Selection menu based on class relationships

Definition at line 43 of file selection_interface.py.

Member Function Documentation

◆ __build_node()

cider.data_structures.selection_interface.RelationalSelectionMenu.__build_node ( self,
conf_obj )
private
Build each node of the relational graph

Arguments:
    conf_obj -- Configuration object

Definition at line 52 of file selection_interface.py.

52 def __build_node(self, conf_obj):
53 """Build each node of the relational graph
54
55 Arguments:
56 conf_obj -- Configuration object
57 """
58
59 # We can deal with the schema
60 relationships = self._handler.configuration_handler.get_relationships_for_conf_object(conf_obj)
61
62 if not len(relationships):
63 return conf_obj
64
65 relations_list = []
66 for rel_category in relationships:
67 for rel_type, rel in rel_category.items():
68 # TODO: Better data structure, need class info for now
69 if rel_type=='rel_info':
70 continue
71 # Bit slower but configuration isn't large enough for this to really matter]
72 relations_list.append({f"[blue]{rel_type}[/blue]": [self.__build_node(r) for r in rel]})
73
74
75 return {conf_obj: relations_list}
76

◆ __repr__()

cider.data_structures.selection_interface.RelationalSelectionMenu.__repr__ ( self)

Definition at line 77 of file selection_interface.py.

77 def __repr__(self):
78 return "RelationalSelectionMenu"

◆ _build_relational_dict()

cider.data_structures.selection_interface.RelationalSelectionMenu._build_relational_dict ( self)
protected

Reimplemented from cider.data_structures.selection_interface.SelectionInterface.

Definition at line 46 of file selection_interface.py.

46 def _build_relational_dict(self):
47 configuration_dict = {f"[green]Sessions" : [self.__build_node(top_node) for top_node in self._handler.relational_graph.top_level_nodes if top_node.className() == "Session"],
48 f"[green]Objects outside of Session" : [self.__build_node(top_node) for top_node in self._handler.relational_graph.top_level_nodes if top_node.className() != "Session"]}
49
50 return configuration_dict
51

The documentation for this class was generated from the following file: