3 from PyCool
import cool
4 from AthenaCommon.Logging
import logging
11 _defaultSuffix=
"-RUN2-UPD3-00"
13 def __init__(self,dbname="COOLOFL_LAR/CONDBR2"):
14 dbSvc = cool.DatabaseSvcFactory.databaseService()
15 self.
_db = dbSvc.openDatabase(dbname)
16 self.
_msg=logging.getLogger(
'FolderTagResolver')
20 self.
_db.closeDatabase()
25 globalTag=self.__class__._globalTag
27 self.
_msg.
info(
"Looking up folder level tags in %s",foldername)
28 foldertag=
''.
join(foldername.split(
'/')) + self.__class__._defaultSuffix
32 folder=self.
_db.getFolder(foldername)
33 except cool.FolderNotFound:
34 self.
_msg.warning(
"\tCould not find folder %s in database %s",foldername,self.
_db.databaseId())
35 self.
_msg.warning(
"\tFalling back to default tag %s",foldertag)
39 taglist=folder.listTags()
42 self.
_msg.
info(
"\tFound single tag %s",foldertag)
45 self.
_msg.
info(
"\tTrying to resolve gobal tag %s",globalTag)
47 foldertag=folder.resolveTag(globalTag)
48 self.
_msg.
info(
"\tResolved tag %s",foldertag)
50 except cool.TagNotFound:
51 self.
_msg.warning(
"\tCould not resolve global tag %s",globalTag)
52 self.
_msg.warning(
"\tFalling back to default tag %s",foldertag)
54 except cool.TagRelationNotFound:
55 self.
_msg.warning(
"\tCould not find tag relation to %s",globalTag)
56 self.
_msg.warning(
"\tFalling back to default tag %s",foldertag)