CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions
condformats_serialization_generate.SerializationCodeGenerator Class Reference
Inheritance diagram for condformats_serialization_generate.SerializationCodeGenerator:

Public Member Functions

def __init__
 
def cleanFlags
 
def generate
 

Public Attributes

 cmssw_base
 
 split_path
 

Static Public Attributes

tuple base_object_name_sanitised = sanitise(base_object_name)
 
list blackList = ['--', '-fipa-pta']
 
tuple cpp_flags = get_flags(product_name, 'CPPFLAGS')
 
tuple cxx_flags = get_flags(product_name, 'CXXFLAGS')
 
list cxx_flags = []
 
tuple diagnostics = get_diagnostics(translation_unit)
 
tuple filename = self._join_package_path('src', 'Serialization.cc')
 
list flags = ['-xc++']
 
list get_severity_name = lambdaseverity_num:severity_names[severity_num]
 
tuple headers_h = self._join_package_path('src', 'headers.h')
 
tuple index = clang.cindex.Index.create()
 
 logf = logging.error
 
int max_severity_level = 0
 
tuple max_severity_level = max(max_severity_level, diagnostic['severity'])
 
tuple member_name_sanitised = sanitise(member_name)
 
int n_serializable_classes = 0
 
tuple severity_names = ('Ignored', 'Note', 'Warning', 'Error', 'Fatal')
 
 skip_instantiation = False
 
tuple source = headers_template.format(headers=os.path.join(self.split_path[1], self.split_path[2], 'src', 'headers.h'))
 
tuple std_flags = get_default_gcc_search_paths(gcc='clang++')
 
tuple translation_unit = index.parse(headers_h, flags)
 

Private Member Functions

def _join_package_path
 

Detailed Description

Definition at line 394 of file condformats_serialization_generate.py.

Constructor & Destructor Documentation

def condformats_serialization_generate.SerializationCodeGenerator.__init__ (   self,
  scramFlags = None 
)

Definition at line 396 of file condformats_serialization_generate.py.

397  def __init__(self, scramFlags=None):
399  self.cmssw_base = os.getenv('CMSSW_BASE')
400  if self.cmssw_base is None:
401  raise Exception('CMSSW_BASE is not set.')
402  logging.debug('cmssw_base = %s', self.cmssw_base)
403 
404  cwd = os.getcwd()
405  logging.debug('cwd = %s', cwd)
406 
407  if not cwd.startswith(self.cmssw_base):
408  raise Exception('The filepath does not start with CMSSW_BASE.')
409 
410  relative_path = cwd[len(self.cmssw_base)+1:]
411  logging.debug('relative_path = %s', relative_path)
413  self.split_path = split_path(relative_path)
414  logging.debug('splitpath = %s', self.split_path)
415 
416  if len(self.split_path) < 3:
417  raise Exception('This script requires to be run inside a CMSSW package (usually within CondFormats), e.g. CondFormats/Alignment. The current path is: %s' % self.split_path)
418 
419  if self.split_path[0] != 'src':
420  raise Exception('The first folder should be src.')
421 
422  if self.split_path[1] != 'CondFormats':
423  raise Exception('The second folder should be CondFormats.')
424 
425  product_name = '%s%s' % (self.split_path[1], self.split_path[2])
426  logging.debug('product_name = %s', product_name)

Member Function Documentation

def condformats_serialization_generate.SerializationCodeGenerator._join_package_path (   self,
  path 
)
private

Definition at line 477 of file condformats_serialization_generate.py.

References condformats_serialization_generate.SerializationCodeGenerator.cmssw_base, and condformats_serialization_generate.SerializationCodeGenerator.split_path.

478  def _join_package_path(self, *path):
479  return os.path.join(self.cmssw_base, self.split_path[0], self.split_path[1], self.split_path[2], *path)
def condformats_serialization_generate.SerializationCodeGenerator.cleanFlags (   self,
  flagsIn 
)

Definition at line 480 of file condformats_serialization_generate.py.

def cleanFlags(self, flagsIn):
def condformats_serialization_generate.SerializationCodeGenerator.generate (   self,
  outFileName 
)

Definition at line 485 of file condformats_serialization_generate.py.

486  def generate(self, outFileName):
487 
filename = outFileName

Member Data Documentation

tuple condformats_serialization_generate.SerializationCodeGenerator.base_object_name_sanitised = sanitise(base_object_name)
static

Definition at line 512 of file condformats_serialization_generate.py.

list condformats_serialization_generate.SerializationCodeGenerator.blackList = ['--', '-fipa-pta']
static

Definition at line 482 of file condformats_serialization_generate.py.

condformats_serialization_generate.SerializationCodeGenerator.cmssw_base

Definition at line 398 of file condformats_serialization_generate.py.

Referenced by condformats_serialization_generate.SerializationCodeGenerator._join_package_path().

tuple condformats_serialization_generate.SerializationCodeGenerator.cpp_flags = get_flags(product_name, 'CPPFLAGS')
static

Definition at line 428 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.cxx_flags = get_flags(product_name, 'CXXFLAGS')
static

Definition at line 429 of file condformats_serialization_generate.py.

list condformats_serialization_generate.SerializationCodeGenerator.cxx_flags = []
static

Definition at line 432 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.diagnostics = get_diagnostics(translation_unit)
static

Definition at line 458 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.filename = self._join_package_path('src', 'Serialization.cc')
static

Definition at line 489 of file condformats_serialization_generate.py.

Referenced by cuy.ValElement.__init__(), python.rootplot.rootmath.Target.__repr__(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor.properties(), and utils.unpickler.run().

list condformats_serialization_generate.SerializationCodeGenerator.flags = ['-xc++']
static

Definition at line 440 of file condformats_serialization_generate.py.

list condformats_serialization_generate.SerializationCodeGenerator.get_severity_name = lambdaseverity_num:severity_names[severity_num]
static

Definition at line 456 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.headers_h = self._join_package_path('src', 'headers.h')
static

Definition at line 442 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.index = clang.cindex.Index.create()
static

Definition at line 450 of file condformats_serialization_generate.py.

Referenced by BeautifulSoup.PageElement._invert().

condformats_serialization_generate.SerializationCodeGenerator.logf = logging.error
static

Definition at line 460 of file condformats_serialization_generate.py.

int condformats_serialization_generate.SerializationCodeGenerator.max_severity_level = 0
static

Definition at line 457 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.max_severity_level = max(max_severity_level, diagnostic['severity'])
static

Definition at line 470 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.member_name_sanitised = sanitise(member_name)
static

Definition at line 516 of file condformats_serialization_generate.py.

int condformats_serialization_generate.SerializationCodeGenerator.n_serializable_classes = 0
static

Definition at line 491 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.severity_names = ('Ignored', 'Note', 'Warning', 'Error', 'Fatal')
static

Definition at line 455 of file condformats_serialization_generate.py.

condformats_serialization_generate.SerializationCodeGenerator.skip_instantiation = False
static

Definition at line 503 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.source = headers_template.format(headers=os.path.join(self.split_path[1], self.split_path[2], 'src', 'headers.h'))
static

Definition at line 493 of file condformats_serialization_generate.py.

Referenced by confdb.HLTProcess.specificCustomize().

condformats_serialization_generate.SerializationCodeGenerator.split_path

Definition at line 412 of file condformats_serialization_generate.py.

Referenced by condformats_serialization_generate.SerializationCodeGenerator._join_package_path().

tuple condformats_serialization_generate.SerializationCodeGenerator.std_flags = get_default_gcc_search_paths(gcc='clang++')
static

Definition at line 435 of file condformats_serialization_generate.py.

tuple condformats_serialization_generate.SerializationCodeGenerator.translation_unit = index.parse(headers_h, flags)
static

Definition at line 451 of file condformats_serialization_generate.py.