def unlink(self, path): try: if is_nzbfs_file(self.db_root + path, 'user.nzbfs.type'): with self._attr_lock: file_size = get_nzbfs_attr(self.db_root + path, 'size') self.total_files -= 1 self.total_size -= file_size finally: return os.unlink(self.db_root + path)
def load_file(self, path): path, israw = self._raw_path(path) if is_nzbfs_file(self.db_root + path) and not israw: with self._loaded_files_lock: if path in self._loaded_files: return self._loaded_files[path] else: nzbfs_file = load_nzbfs_file(self.db_root + path) self._loaded_files[path] = nzbfs_file return nzbfs_file else: return RegularFile(self.db_root + path)