zephir.monitor.agentmanager.status

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