Package Ganga :: Package GPIDev :: Package Streamers :: Module SimpleStreamer
[hide private]
[frames] | no frames]

Source Code for Module Ganga.GPIDev.Streamers.SimpleStreamer

 1  ################################################################################ 
 2  # Ganga Project. http://cern.ch/ganga 
 3  # 
 4  # $Id: SimpleStreamer.py,v 1.1 2008-07-17 16:40:56 moscicki Exp $ 
 5  ################################################################################ 
 6   
 7   
 8  from utilities import serialize, gangaObjectFactory, GangaObjectFactoryError 
 9   
10  import Ganga.Utility.logging 
11  logger = Ganga.Utility.logging.getLogger(modulename=1) 
12   
13 -class SimpleJobStreamer(object):
14
15 - def _getJobFromDict(self, attrDict):
16 j, migrated, errors = gangaObjectFactory(attrDict) 17 if errors: 18 j.status = 'incomplete' 19 msg = "Job %d can not be completely recreated because of the errors %s It is created in incomplete state." % (j.id, str(map(str, errors))) 20 logger.error(msg) 21 else: 22 if migrated: 23 # add job to the MigrationControl list for flushing back to the repository 24 from MigrationControl import migrated_jobs 25 if j not in migrated_jobs: 26 migrated_jobs.append(j) 27 return j
28
29 - def _getDictFromJob(self, job):
30 return serialize(job)
31
32 - def getStreamFromJob(self, job):
33 return repr(self._getDictFromJob(job))
34
35 - def getJobFromStream(self, stream):
36 return self._getJobFromDict(eval(stream))
37 38
39 -class SimpleTreeStreamer(object):
40
41 - def getStreamFromTree(self, tree):
42 return repr(serialize(tree))
43
44 - def getTreeFromStream(self, stream):
45 tree, migrated, errors = gangaObjectFactory(eval(stream)) 46 if migrated: 47 msg = "JobTree was migrated from previous version" 48 logger.warning(msg) 49 if errors: 50 tree = None 51 msg = "JobTree can not be recreated because of the errors %s." % str(map(str, errors)) 52 logger.error(msg) 53 return tree
54