Belle II Software  release-08-01-10
TestingPayloadEntry Class Reference

Public Member Functions

def __init__ (self, line, basedir)
 
def normalize (self, name=None, root_version=61408)
 
def checksum (self)
 
def __repr__ (self)
 
def __eq__ (self, other)
 
def __le__ (self, other)
 
def __lt__ (self, other)
 
def __hash__ (self)
 
def iov_tuple (self)
 
def iov_str (self)
 

Public Attributes

 revision
 revision stored in the file
 
 module
 module name
 
 filename
 filename
 
 firstRun
 experiment/run of the first run
 
 finalRun
 experiment/run of the final run
 
 payload
 payload id, to be filled later
 
 iov
 iov id, to be filled later
 

Private Attributes

 __checksum
 variable for checksum, calculated on first access
 
 __id
 object to uniquely identify this entry (payload + iov)
 

Detailed Description

Class to keep information about an entry in the testing payloads storage file

Definition at line 25 of file testing_payloads.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  line,
  basedir 
)
Create new entry from line in testing payloads storage file

Definition at line 28 of file testing_payloads.py.

28  def __init__(self, line, basedir):
29  """Create new entry from line in testing payloads storage file"""
30  try:
31  name, revision, iov = line.split()
32  except ValueError:
33  raise ValueError("line must be of the form 'dbstore/<payloadname> <revision> "
34  "<firstExp>,<firstRun>,<finalExp>,<finalRun>'")
35 
36 
37  self.revision = revision
38 
39  try:
40 
41  self.module = name.split("/")[1]
42  except IndexError:
43  raise ValueError("payload name must be of the form dbstore/<payloadname>")
44 
45  try:
46  iov = [int(e) for e in iov.split(",")]
47  except ValueError:
48  raise ValueError("experiment and run numbers must be integers")
49 
50  if len(iov) != 4:
51  raise ValueError("IoV needs to be four values (firstExp,firstRun,finalExp,finalRun)")
52 
53 
54  self.filename = os.path.join(basedir, f"dbstore_{self.module}_rev_{self.revision}.root")
55 
56  self.firstRun = {"exp": iov[0], "run": iov[1]}
57 
58  self.finalRun = {"exp": iov[2], "run": iov[3]}
59 
60  self.__checksum = None
61 
62  self.__id = (self.module,) + tuple(iov)
63 
64  self.payload = None
65 
66  self.iov = None
67 

Member Function Documentation

◆ __eq__()

def __eq__ (   self,
  other 
)
Compare to other entries, only consider package, module and iov for equality

Definition at line 84 of file testing_payloads.py.

◆ __hash__()

def __hash__ (   self)
Provide hash function to be able to create a set

Definition at line 96 of file testing_payloads.py.

◆ __le__()

def __le__ (   self,
  other 
)
Compare to other entries, only consider package, module and iov for equality

Definition at line 88 of file testing_payloads.py.

◆ __lt__()

def __lt__ (   self,
  other 
)
Compare to other entries, only consider package, module and iov for equality

Definition at line 92 of file testing_payloads.py.

◆ __repr__()

def __repr__ (   self)
Convert to useful string representation

Definition at line 80 of file testing_payloads.py.

◆ checksum()

def checksum (   self)
Return checksum, calculated on first access

Definition at line 74 of file testing_payloads.py.

◆ iov_str()

def iov_str (   self)
String representation of IoV

Definition at line 105 of file testing_payloads.py.

◆ iov_tuple()

def iov_tuple (   self)
Return a tuple with the valid exp,run range

Definition at line 101 of file testing_payloads.py.

◆ normalize()

def normalize (   self,
  name = None,
  root_version = 61408 
)
Normalize the root file to have the same checksum for the same content

Definition at line 68 of file testing_payloads.py.


The documentation for this class was generated from the following file: