1 import hashlib
2 from logger import main_log
3 import thread
4
6
7 if not 'Registry' in globals():
8 globals()['Registry'] = {}
9 makelock()
10
11
17
21
28
29
30
32 global Registry
33 if cid != None:
34 Registry[cid] = component
35 else:
36 try:
37 cid = component['Id']
38 except KeyError:
39 cid = getNewId()
40 component['Id'] = cid
41 main_log.debug(cid + 'automatically assigned')
42 if cid in Registry:
43 main_log.warn(cid + 'overwritten.')
44 Registry[cid] = component
45 return cid
46
50
54
56 global Registry
57 trialKey = len(Registry)
58 trialId = hashlib.md5(str(trialKey)).hexdigest()
59 while trialId in Registry:
60 trialKey += 1
61 trialId = hashlib.md5(str(trialKey)).hexdigest()
62 return trialId
63