The Gaudi Framework  v36r1 (3e2fb5a8)
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 58 of file _db.py.

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

◆ _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 72 of file _db.py.

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

◆ 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 79 of file _db.py.

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

Variable Documentation

◆ _DB

GaudiConfig2._db._DB = ConfDB2()
private

Definition at line 53 of file _db.py.

◆ _TRANS_TABLE

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

Definition at line 69 of file _db.py.

◆ maketrans

GaudiConfig2._db.maketrans = str.maketrans

Definition at line 66 of file _db.py.

GaudiConfig2._db._normalize_cpp_type_name
def _normalize_cpp_type_name(name)
Definition: _db.py:72
GaudiConfig2._db._fix_clean_up
def _fix_clean_up()
Definition: _db.py:58
GaudiConfig2._db.split_namespace
def split_namespace(typename)
Definition: _db.py:79