En Mon, 26 Mar 2007 07:29:32 -0300, jrpfinch <[EMAIL PROTECTED]> escribió:
> Got it. New PickleQueue class should be as follows: Only a comment: > def _init(self, maxsize): > # Implements Queue protocol _init for persistent queue. > # Sets up the pickle files. > self.maxsize = maxsize > try: > self.readfile = file(self.filename, 'r') > self.queue = cPickle.load(self.readfile) > self.readfile.close() > except IOError, err: > if err.errno == 2: > # File doesn't exist, continue ... > self.queue = Queue.deque() > else: > # Some other I/O problem, reraise error > raise err > except EOFError: > # File was null? Continue ... > self.queue = Queue.deque() > > > # Rewrite file, so it's created if it doesn't exist, > # and raises an exception now if we aren't allowed > self.writefile = file(self.filename, 'w') > cPickle.dump(self.queue, self.writefile, 1) self.readfile may be left open in case of error, I'd use a try/finally. And since it isn't used anywhere, I'd just use a local variable instead of an instance attribute. And the final write is not necesary when you have just read it - and alters the "last-modified-time" (that may not be relevant for you, of course, but as a general tool it may confuse other users). -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list