Remove inappropriate class variables, add instance variable documentation
[rarslave2.git] / RarslaveLogger.py
1 #!/usr/bin/env python
2 # vim: set ts=4 sts=4 sw=4 textwidth=92:
3
4 class MessageType (object):
5         Fatal = -1
6         Normal = 0
7         Verbose = 1
8         Debug = 2
9
10 class RarslaveMessage (object):
11
12         # Instance Variables:
13         # ==========================================================================
14         # msg   -- The message to be printed
15         # type  -- The type of message (Fatal, Normal, Verbose, or Debug)
16
17         def __init__ (self, msg, type=MessageType.Normal):
18                 self.msg = msg
19                 self.type = type
20
21         def __repr__ (self):
22                 return "%s" % self.msg
23
24         def isFatal (self):
25                 return self.type == MessageType.Fatal
26
27         def isNormal (self):
28                 return self.type == MessageType.Normal
29
30         def isVerbose (self):
31                 return self.type == MessageType.Verbose
32
33         def isDebug (self):
34                 return self.type == MessageType.Debug
35
36 class RarslaveLogger (object):
37         # This class will log multiple messages, one for each set that is operated on.
38         # It will then be able to print all of them out.
39
40         # Instance Variables:
41         # ==========================================================================
42         # __messages    -- The list of RarslaveMessage()s to be printed later.
43
44         def __init__ (self):
45                 self.__messages = []
46
47         def addMessage (self, msg, type=MessageType.Normal):
48                 self.__messages.append (RarslaveMessage (msg, type))
49
50         def hasFatalMessages (self):
51                 for m in self.__messages:
52                         if m.isFatal ():
53                                 return True
54
55                 return False
56
57         def hasNormalMessages (self):
58                 for m in self.__messages:
59                         if m.isNormal ():
60                                 return True
61
62                 return False
63
64         def hasVerboseMessages (self):
65                 for m in self.__messages:
66                         if m.isVerbose ():
67                                 return True
68
69                 return False
70
71         def hasDebugMessages (self):
72                 for m in self.__messages:
73                         if m.isDebug ():
74                                 return True
75
76                 return False
77
78         def printAllMessages (self, level=MessageType.Normal):
79                 # Print all messages with level upto and including $level.
80                 for m in self.__messages:
81                         if m.type <= level:
82                                 print m
83
84         def printLoglevel (self, level=MessageType.Normal):
85                 # Print all message with exactly the loglevel given
86                 for m in self.__messages:
87                         if m.type == level:
88                                 print m
89
90 def main ():
91         pass
92
93 if __name__ == '__main__':
94         main ()
95