Package zephir :: Package monitor :: Package agentmanager :: Module status
[frames] | no frames]

Source Code for Module zephir.monitor.agentmanager.status

 1  # -*- coding: UTF-8 -*- 
 2  ########################################################################### 
 3  # Eole NG - 2007 
 4  # Copyright Pole de Competence Eole  (Ministere Education - Academie Dijon) 
 5  # Licence CeCill  cf /root/LicenceEole.txt 
 6  # eole@ac-dijon.fr 
 7  ########################################################################### 
 8   
 9  """ 
10  Statut d'un agent. 
11   
12  Les statuts utilisables sont définis par les sous-classes de C{Statut} : 
13   
14    - C{OK} : tout fonctionne correctement. 
15   
16    - C{Warn} : l'agent donne toujours des mesures significatives malgré 
17      certains problèmes ; par exemple la mesure peut être partielle. 
18   
19    - C{Error} : l'agent ne peut pas effectuer de mesure. 
20   
21    - C{Unknown} : le statut est inconnu. 
22  """ 
23   
24  try: _ # localized string fetch function 
25  except NameError: _ = str 
26   
27   
28   
29   
30 -class Status:
31
32 - def __init__(self, message=""):
33 self.message = message
34
35 - def level(self):
36 return self.__class__.__name__
37
38 - def num_level(self):
39 return STATUS_ORDER.index(self.__class__)
40
41 - def localized_name(self):
42 return self.level()
43
44 - def __str__(self):
45 assert self.level() != "Status" 46 if self.message == "": 47 return self.localized_name() 48 else: 49 return self.localized_name() + " : " + self.message
50 51 # arithmétique sur les statuts 52
53 - def __cmp__(self, other):
54 return cmp(self.num_level(), other.num_level())
55
56 - def to_dict(self):
57 return { 'level': self.level(), 58 'message': self.message }
59 60 61 62
63 -class OK(Status):
64 - def localized_name(self): return "OK"
65
66 -class Warn(Status):
67 - def localized_name(self): return "Avertissement"
68
69 -class Error(Status):
70 - def localized_name(self): return "Erreur"
71
72 -class Unknown(Status):
73 - def localized_name(self): return "Indéterminé"
74
75 -class Dependant(Status):
76 - def localized_name(self): return "Non disponible"
77 78 79 80 81 STATUS_ORDER = [Unknown, OK, Warn, Error, Dependant] 82 action_map = {0:'action_unknown',1:'action_ok',2:'action_warn',3:'action_error',4:'action_dependant'} 83 84 85 # def test_main(): 86 # test_support.run_unittest(UserStringTest) 87 88 # if __name__ == "__main__": 89 # test_main() 90