def scan(self): """ Scan for files that are added or removed. """ if not self.active: return with disk_lock: old_mtimes = self.mtimes new_mtimes = {} suffix = renpy.savegame_suffix suffix_len = len(suffix) for fn in os.listdir(self.directory): if not fn.endswith(suffix): continue slotname = fn[:-suffix_len] try: new_mtimes[slotname] = os.path.getmtime( os.path.join(self.directory, fn)) except: pass self.mtimes = new_mtimes for slotname, mtime in new_mtimes.items(): if old_mtimes.get(slotname, None) != mtime: clear_slot(slotname) for slotname in old_mtimes: if slotname not in new_mtimes: clear_slot(slotname) for pfn in [self.persistent + ".new", self.persistent]: if os.path.exists(pfn): mtime = os.path.getmtime(pfn) if mtime != self.persistent_mtime: data = renpy.persistent.load(pfn) if data is not None: self.persistent_mtime = mtime self.persistent_data = data break
def scan(self): """ Scan for files that are added or removed. """ if not self.active: return with disk_lock: old_mtimes = self.mtimes new_mtimes = { } suffix = renpy.savegame_suffix suffix_len = len(suffix) for fn in os.listdir(self.directory): if not fn.endswith(suffix): continue slotname = fn[:-suffix_len] try: new_mtimes[slotname] = os.path.getmtime(os.path.join(self.directory, fn)) except: pass self.mtimes = new_mtimes for slotname, mtime in new_mtimes.iteritems(): if old_mtimes.get(slotname, None) != mtime: clear_slot(slotname) for slotname in old_mtimes: if slotname not in new_mtimes: clear_slot(slotname) for pfn in [ self.persistent + ".new", self.persistent ]: if os.path.exists(pfn): mtime = os.path.getmtime(pfn) if mtime != self.persistent_mtime: data = renpy.persistent.load(pfn) if data is not None: self.persistent_mtime = mtime self.persistent_data = data break