X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=blobdiff_plain;f=database.py;h=a7099bc7cd0cb1717837a63cb5efdd1830229008;hp=aef900dd291ff61fbde0e91e7bb43efa96cba110;hb=HEAD;hpb=48a73b18fd7daed13c645c1adeddb57b560e7a2d diff --git a/database.py b/database.py index aef900d..a7099bc 100644 --- a/database.py +++ b/database.py @@ -98,10 +98,12 @@ keys.""" if rec['timestamp'] < self._min_timestamp: return name = rec['name'] old_rec = self.get(name) - if old_rec == None: self[name] = rec + if old_rec == None: + self[name] = rec elif rec['timestamp'] > old_rec['timestamp']: for key in list(old_rec.keys()): - if not key.startswith('_'): del old_rec[key] + if not key.startswith('_'): + del old_rec[key] old_rec.update(rec) def set_min_timestamp(self, ts): @@ -183,7 +185,8 @@ It proceeds to handle dump requests forever.""" dump_requested = False db_lock.release() try: - tools.write_file(DB_FILE, lambda f: f.write(db_pickle)) + tools.write_file( + DB_FILE, lambda f: f.write(db_pickle), binary=True) logger.log_database(db) except: logger.log_exc("database.start: failed to pickle/dump")