projects
/
rarslave2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[RARSLAVE] Fix directory switching 2
[rarslave2.git]
/
RarslaveLogger.py
diff --git
a/RarslaveLogger.py
b/RarslaveLogger.py
index
83752f0
..
d60b105
100644
(file)
--- a/
RarslaveLogger.py
+++ b/
RarslaveLogger.py
@@
-1,67
+1,84
@@
#!/usr/bin/env python
# vim: set ts=4 sts=4 sw=4 textwidth=92:
#!/usr/bin/env python
# vim: set ts=4 sts=4 sw=4 textwidth=92:
+class MessageType (object):
+ Fatal = -1
+ Normal = 0
+ Verbose = 1
+ Debug = 2
+
class RarslaveMessage (object):
class RarslaveMessage (object):
- def __init__ (self, msg,
printquiet
):
+ def __init__ (self, msg,
type=MessageType.Normal
):
self.msg = msg
self.msg = msg
- self.
printquiet = printquiet
+ self.
type = type
def __repr__ (self):
return "%s" % self.msg
def __repr__ (self):
return "%s" % self.msg
+ def isFatal (self):
+ return self.type == MessageType.Fatal
+
+ def isNormal (self):
+ return self.type == MessageType.Normal
+
def isVerbose (self):
def isVerbose (self):
- # A message is verbose only if we should
- # print it when we are not printing quietly
- return not self.printquiet
+ return self.type == MessageType.Verbose
+
+ def isDebug (self):
+ return self.type == MessageType.Debug
class RarslaveLogger (object):
# This class will log multiple messages, one for each set that is operated on.
# It will then be able to print all of them out.
def __init__ (self):
class RarslaveLogger (object):
# This class will log multiple messages, one for each set that is operated on.
# It will then be able to print all of them out.
def __init__ (self):
- self.__msg_dict = {}
+ self.__messages = []
+
+ def addMessage (self, msg, type=MessageType.Normal):
+ self.__messages.append (RarslaveMessage (msg, type))
+
+ def hasFatalMessages (self):
+ for m in self.__messages:
+ if m.isFatal ():
+ return True
- def __get_key (self, id):
- """__get_key (id) -> key"""
- # Get a valid key which will always be the same as any other similar key, even if
- # the actual memory reference is different.
- return str(id)
+ return False
- def
addMessage (self, id, msg, printquiet=True
):
- # Add a message to the dictionary, to be printed later.
- # The printquiet variable controls whether the message will be printed
- # normally, or only in verbose mode. The default is to print always.
+ def
hasNormalMessages (self
):
+ for m in self.__messages:
+ if m.isNormal ():
+ return True
- # Get the key
- key = self.__get_key (id)
+ return False
- # Create the dictionary entry if necessary
- if key not in self.__msg_dict.keys():
- self.__msg_dict[key] = []
+ def hasVerboseMessages (self):
+ for m in self.__messages:
+ if m.isVerbose ():
+ return True
- # Get the list from the dictionary, then add the message to it
- self.__msg_dict[key].append (RarslaveMessage (msg, printquiet))
+ return False
- def
printAllMessages (self, verbose=False
):
- # Print all messages in groups by id
-
for k in self.__msg_dict.keys
():
- for msg in self.__msg_dict[k]:
+ def
hasDebugMessages (self
):
+ for m in self.__messages:
+
if m.isDebug
():
+ return True
- # Skip verbose messages if we're not in verbose mode
- if msg.isVerbose() and not verbose:
- continue
+ return False
- print msg
+ def printAllMessages (self, level=MessageType.Normal):
+ # Print all messages with level upto and including $level.
+ for m in self.__messages:
+ if m.type <= level:
+ print m
- print
+ def printLoglevel (self, level=MessageType.Normal):
+ # Print all message with exactly the loglevel given
+ for m in self.__messages:
+ if m.type == level:
+ print m
def main ():
def main ():
- logger = RarslaveLogger ()
- logger.addMessage (1, 'hello 1')
- logger.addMessage (2, 'hello 2')
- logger.addMessage (2, 'world 2')
- logger.addMessage (1, 'world 1')
- logger.printAllMessages ()
+ pass
if __name__ == '__main__':
main ()
if __name__ == '__main__':
main ()