Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-19 08:00:01

0001 """
0002 Queue Config dump class
0003 
0004 """
0005 import copy
0006 import hashlib
0007 import json
0008 
0009 from .spec_base import SpecBase
0010 
0011 
0012 class QueueConfigDumpSpec(SpecBase):
0013     # attributes
0014     attributesWithTypes = (
0015         "configID:integer primary key",
0016         "queueName:text / index",
0017         "checksum:text",
0018         "dumpUniqueName:text / unique",
0019         "creationTime:timestamp / index",
0020         "data:blob",
0021     )
0022 
0023     # constructor
0024     def __init__(self):
0025         SpecBase.__init__(self)
0026 
0027     # set data
0028     def set_data(self, data):
0029         self.data = copy.deepcopy(data)
0030         # don't record status
0031         try:
0032             del self.data["queueStatus"]
0033         except Exception:
0034             pass
0035         # get checksum
0036         m = hashlib.md5()
0037         m.update(json.dumps(self.data).encode("utf-8"))
0038         self.checksum = m.hexdigest()
0039         # set unique name
0040         self.dumpUniqueName = f"{self.queueName}_{self.checksum}"