From 1c5e870281992eaa7e9a08e5c18f95f23974c9c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Tue, 20 Dec 2005 16:15:24 +0000 Subject: [PATCH] * robustness: allow removes even when files.xml corrupt/gone, --- pisi/atomicoperations.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pisi/atomicoperations.py b/pisi/atomicoperations.py index 002c4b0b..1229e68a 100644 --- a/pisi/atomicoperations.py +++ b/pisi/atomicoperations.py @@ -324,7 +324,11 @@ class Remove(AtomicOperation): super(Remove, self).__init__(ignore_dep) self.package_name = package_name self.package = packagedb.get_package(self.package_name) - self.files = ctx.installdb.files(self.package_name) + try: + self.files = ctx.installdb.files(self.package_name) + except: + # for some reason file was deleted, we still allow removes! + self.files = Files() def run(self): """Remove a single package""" @@ -396,7 +400,7 @@ class Remove(AtomicOperation): def remove_db(self, txn): ctx.installdb.remove(self.package_name, txn) - ctx.filesdb.remove_files(ctx.installdb.files(self.package_name), txn) + ctx.filesdb.remove_files(self.files, txn) if packagedb.thirdparty_packagedb.has_package(self.package_name, txn): packagedb.thirdparty_packagedb.remove_package(self.package_name, txn) if packagedb.inst_packagedb.has_package(self.package_name, txn):