ATLAS Offline Software
Loading...
Searching...
No Matches
ClassNameManips.py
Go to the documentation of this file.
1# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3# Helper functions for class name manipulations
4
5# For some of the finding
6import re
7
8# For logging errors and warnings
9from AthenaCommon import Logging
10cnm_log = Logging.logging.getLogger('ClassNameManips')
11
13 # Baseline: transient name is identical
14 t = p
15 # Let's look for a version in the name
16 vers = re.findall( r'_v\d+',t )
17 if len(vers)>1:
18 cnm_log.warning('Input name '+p+' seems to have multiple version numbers: '+str(vers)+' - will wipe them all')
19 for v in vers:
20 # Wipe out the version
21 t = t.replace(v,'')
22 # Now convert data vectors
23 if 'DataVector<' in t:
24 t = t.replace('DataVector<','').replace('>','')
25 t = 'Container#'.join(t.split('#'))
26 cnm_log.debug('Translated '+p+' to '+t)
27 return t
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition hcg.cxx:310