From de9814822774070f439479ad36397f3d36f6eb52 Mon Sep 17 00:00:00 2001 From: "David E. Eisenstat" Date: Mon, 30 Oct 2006 16:40:07 +0000 Subject: [PATCH] Fixed a logic error that was killing records by mistake. --- database.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/database.py b/database.py index d7ddf04..a49304f 100644 --- a/database.py +++ b/database.py @@ -71,13 +71,14 @@ class Database(dict): def deliver_record(self, rec): """A record is simply a dictionary with 'name' and 'timestamp' keys. We keep some persistent private data in the records under keys that start with '_'; thus record updates should not displace such keys.""" + if rec['timestamp'] < self._min_timestamp: return name = rec['name'] old_rec = self.get(name) - if old_rec != None and rec['timestamp'] > old_rec['timestamp']: + if old_rec == None: self[name] = rec + elif rec['timestamp'] > old_rec['timestamp']: for key in old_rec.keys(): if not key.startswith('_'): del old_rec[key] old_rec.update(rec) - elif rec['timestamp'] >= self._min_timestamp: self[name] = rec def set_min_timestamp(self, ts): """The ._min_timestamp member is the timestamp on the last comprehensive update. We use it to determine if a record is stale. This method should be called whenever new GetSlivers() data comes in.""" -- 2.43.0