The Gaudi Framework  v36r7 (7f57a304)
GaudiConfig2._db Namespace Reference

Classes

class  ConfDB2
 
class  ConfigurablesDB
 

Functions

def _fix_clean_up ()
 
def _normalize_cpp_type_name (name)
 
def split_namespace (typename)
 

Variables

 _DB = ConfDB2()
 
 maketrans = str.maketrans
 
 _TRANS_TABLE = maketrans("<>&*,: ().", "__rp__s___")
 

Function Documentation

◆ _fix_clean_up()

def GaudiConfig2._db._fix_clean_up ( )
private

Definition at line 59 of file _db.py.

59 def _fix_clean_up(): # pragma no cover
60  global _DB
61  del _DB
62 
63 
64 atexit.register(_fix_clean_up)
65 

◆ _normalize_cpp_type_name()

def GaudiConfig2._db._normalize_cpp_type_name (   name)
private
Translate a C++ type name (with templates etc.) to Python identifier.

Definition at line 73 of file _db.py.

73 def _normalize_cpp_type_name(name):
74  """
75  Translate a C++ type name (with templates etc.) to Python identifier.
76  """
77  return name.replace(", ", ",").translate(_TRANS_TABLE)
78 
79 

◆ split_namespace()

def GaudiConfig2._db.split_namespace (   typename)
Split a C++ qualified namespace in the tuple (top_namespace, rest) starting
searching the separator from pos.

>>> split_namespace('std::chrono::time_point')
('std', 'chrono::time_point')

Definition at line 80 of file _db.py.

80 def split_namespace(typename):
81  """
82  Split a C++ qualified namespace in the tuple (top_namespace, rest) starting
83  searching the separator from pos.
84 
85  >>> split_namespace('std::chrono::time_point')
86  ('std', 'chrono::time_point')
87  """
88  # find next namespace separator skipping template arguments
89  tpos = typename.find("<")
90  pos = typename.find("::")
91  # '<' can appear only in a class name, if we find a '::'
92  # earlier than a '<', then we got a namespace, else a class
93  if pos > 0 and (tpos < 0 or pos < tpos):
94  head = typename[:pos]
95  tail = typename[pos + 2 :]
96  else:
97  head = None
98  tail = typename
99  return (head, tail)
100 
101 

Variable Documentation

◆ _DB

GaudiConfig2._db._DB = ConfDB2()
private

Definition at line 54 of file _db.py.

◆ _TRANS_TABLE

GaudiConfig2._db._TRANS_TABLE = maketrans("<>&*,: ().", "__rp__s___")
private

Definition at line 70 of file _db.py.

◆ maketrans

GaudiConfig2._db.maketrans = str.maketrans

Definition at line 67 of file _db.py.

GaudiConfig2._db._normalize_cpp_type_name
def _normalize_cpp_type_name(name)
Definition: _db.py:73
GaudiConfig2._db._fix_clean_up
def _fix_clean_up()
Definition: _db.py:59
GaudiConfig2._db.split_namespace
def split_namespace(typename)
Definition: _db.py:80