ATLAS Offline Software
HanMetadata.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
2 
3 #import ROOT
4 
6  mddir = f.Get('HanMetadata_')
7  if not mddir:
8  return []
9  else:
10  return [x.GetName() for x in mddir.GetListOfKeys()]
11 
12 def getMetadata(f, key):
13  rv = {}
14  mddir = f.Get('HanMetadata_')
15  if not mddir:
16  return rv
17  else:
18  keydir = mddir.Get(key)
19  if not keydir:
20  return rv
21  else:
22  for subkey in keydir.GetListOfKeys():
23  subkeydirlist = keydir.Get(subkey.GetName()).GetListOfKeys()
24  if len(subkeydirlist) < 1:
25  continue
26  rv[subkey.GetName()] = subkeydirlist[0].GetName()
27  return rv
28 
29 def addMetadata(f, key, mapping):
30  import ROOT
31  mddir = f.Get('HanMetadata_')
32  if not mddir:
33  mddir = f.mkdir('HanMetadata_')
34  keydir = mddir.Get(key)
35  if not keydir:
36  keydir = mddir.mkdir(key)
37  for subkey in mapping:
38  if keydir.Get(subkey):
39  keydir.rmdir(subkey)
40  subkeydir = keydir.mkdir(subkey)
41  val = mapping[subkey]
42  valstr = ROOT.TObjString(val)
43  subkeydir.WriteTObject(valstr, val)
44  f.Flush()
python.HanMetadata.addMetadata
def addMetadata(f, key, mapping)
Definition: HanMetadata.py:29
python.HanMetadata.getMetadata
def getMetadata(f, key)
Definition: HanMetadata.py:12
python.HanMetadata.getMetadataKeys
def getMetadataKeys(f)
Definition: HanMetadata.py:5