[RARSLAVE] Change RarslaveLogger operation
[rarslave2.git] / RarslaveLogger.py
index bed18d4..83752f0 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-# vim: set ts=4 sts=4 sw=4 textwidth=112:
+# vim: set ts=4 sts=4 sw=4 textwidth=92:
 
 class RarslaveMessage (object):
        def __init__ (self, msg, printquiet):
@@ -19,34 +19,28 @@ class RarslaveLogger (object):
        # It will then be able to print all of them out.
 
        def __init__ (self):
-               self.__uniq_num = 0
                self.__msg_dict = {}
 
-       def getUniqueID (self):
-               # Generate a unique id. This implementation is pretty simple,
-               # just generating an increasing set of integers.
-
-               # This function also sets up the dictionary which will hold the messages.
-               self.__uniq_num += 1
-               self.__msg_dict[self.__uniq_num] = []
-
-               return self.__uniq_num
-
-       def isValidID (self, id):
-               # Check if the id given is a valid one. This is done by checking if
-               # the id is in the dictionary.
-               return id in self.__msg_dict.keys()
+       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)
 
        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.
 
-               # Check the id
-               assert self.isValidID (id)
+               # Get the key
+               key = self.__get_key (id)
+
+               # Create the dictionary entry if necessary
+               if key not in self.__msg_dict.keys():
+                       self.__msg_dict[key] = []
 
                # Get the list from the dictionary, then add the message to it
-               self.__msg_dict[id].append (RarslaveMessage (msg, printquiet))
+               self.__msg_dict[key].append (RarslaveMessage (msg, printquiet))
 
        def printAllMessages (self, verbose=False):
                # Print all messages in groups by id
@@ -62,7 +56,12 @@ class RarslaveLogger (object):
                        print
 
 def main ():
-       pass
+       logger = RarslaveLogger ()
+       logger.addMessage (1, 'hello 1')
+       logger.addMessage (2, 'hello 2')
+       logger.addMessage (2, 'world 2')
+       logger.addMessage (1, 'world 1')
+       logger.printAllMessages ()
 
 if __name__ == '__main__':
        main ()