00001
00002
00003
00004
00005
00006
00007
00008 import ProcessManager.Status as Status
00009
00010 class State:
00011 UNKNOWN=0
00012
00013 RUN_READY=1
00014 RUN_PROCESSING=2
00015 RUN_DONE=3
00016 RUN_FAILED=4
00017
00018 STATS_UNKNOWN=5
00019 STATS_READY=6
00020 STATS_ADDING=7
00021 STATS_DONE=8
00022 STATS_FAILED=9
00023
00024 SUMMARY_UNKNOWN=10
00025 SUMMARY_READY=11
00026 SUMMARY_PRINTING=12
00027 SUMMARY_PRINTED=13
00028 SUMMARY_INDEXING=14
00029 SUMMARY_INDEXED=15
00030 SUMMARY_ADDING=16
00031 SUMMARY_DONE=17
00032 SUMMARY_FAILED_PRINTING=18
00033 SUMMARY_FAILED_INDEXING=19
00034 SUMMARY_FAILED_ADDING=20
00035
00036 @classmethod
00037 def getStateByName(cls, name):
00038 """Return the state with the given name"""
00039 if hasattr(cls, name):
00040 return getattr(cls, name)
00041 return State.UNKNOWN
00042
00043 @classmethod
00044 def getName(cls, state):
00045 """Return the name for a given state"""
00046 for name in dir(cls):
00047 if name.startswith("__"):
00048 continue
00049 if getattr(cls,name)==state:
00050 return name
00051 return "UNKNOWN"
00052
00053 class JobState:
00054 """State of the given job"""
00055 def __init__(self,state=State.UNKNOWN,time=0):
00056 """ Initialize Job State """
00057 self.state=state
00058 self.time=time
00059
00060 class JobType:
00061 """Types of Jobs"""
00062 RUN="run"
00063 ADDSTATS="addStats"
00064 SUMMARY="summary"