From 43f33a65d0caf47f639d3ba250e03f3ed43b1859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Fri, 24 Mar 2006 14:19:32 +0000 Subject: [PATCH] DON'T ASK ME HOW I FIXED THIS --- pisi/itembyrepodb.py | 21 ++++++++++++--------- pisi/sourcedb.py | 4 ++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/pisi/itembyrepodb.py b/pisi/itembyrepodb.py index f7f19f59..4f220749 100644 --- a/pisi/itembyrepodb.py +++ b/pisi/itembyrepodb.py @@ -142,24 +142,27 @@ class ItemByRepoDB(object): self.d.put(name, s, txn) self.d.txn_proc(proc, txn) - def remove_item(self, name, repo, txn = None): + def remove_item_repo(self, name, repo, txn = None): name = str(name) - def proc(txn): - if repo: - s = self.d.get(name, txn) - else: - s, repo = self.get_item_repo(name, txn=txn) - repostr = self.repo_str(repo) + def p(txn): + s = self.d.get(name, txn) + repostr = self.repo_str(repo) if s.has_key(repostr): del s[repostr] if (len(s)==0): self.d.delete(name, txn) else: self.d.put(name, s, txn) - self.d.txn_proc(proc, txn) + self.d.txn_proc(p, txn) + + def remove_item(self, name, txn = None): + def p(txn): + repo = self.which_repo(name, txn=txn) + self.remove_item_repo(name, repo, txn=txn) + self.d.txn_proc(p, txn) def remove_repo(self, repo, txn = None): def proc(txn): for key in self.d.keys(): - self.remove_item(key, repo, txn=txn) + self.remove_item_repo(key, repo, txn=txn) self.d.txn_proc(proc, txn) diff --git a/pisi/sourcedb.py b/pisi/sourcedb.py index 8f1fe1bd..93b1f001 100644 --- a/pisi/sourcedb.py +++ b/pisi/sourcedb.py @@ -84,9 +84,9 @@ class SourceDB(object): def proc(txn): assert self.has_spec(name, txn=txn) spec = self.d.get_item_repo(name, repo, txn) - self.d.remove_item(name, repo, txn=txn) + self.d.remove_item(name, txn=txn) for pkg in spec.packages: - self.dpkgtosrc.remove_item(pkg.name, name, repo, txn) + self.dpkgtosrc.remove_item_repo(pkg.name, name, repo, txn) self.d.txn_proc(proc, txn)