summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2009-10-02 21:41:41 +0300
committerPanu Matilainen <pmatilai@redhat.com>2009-10-02 21:41:41 +0300
commita9b77304c3ad187e8982fd67d1a6406c93ab9e40 (patch)
treef7d3f9718d001ab1467dc4291df1a6369b625db6
parent92d18d1d7139b37065ea742cfe0e8cee5e9c3500 (diff)
downloadlibrpm-tizen-a9b77304c3ad187e8982fd67d1a6406c93ab9e40.tar.gz
librpm-tizen-a9b77304c3ad187e8982fd67d1a6406c93ab9e40.tar.bz2
librpm-tizen-a9b77304c3ad187e8982fd67d1a6406c93ab9e40.zip
Permit file objects and file names to ts.addInstall()
- largely removes the need for the klunky ts.hdrFromFdno()
-rw-r--r--python/rpm/transaction.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/python/rpm/transaction.py b/python/rpm/transaction.py
index dcb28d405..9c8de0c73 100644
--- a/python/rpm/transaction.py
+++ b/python/rpm/transaction.py
@@ -44,7 +44,16 @@ class TransactionSet(_rpm.ts):
else:
return tuple(keys)
- def addInstall(self, header, key, how="u"):
+ def addInstall(self, item, key, how="u"):
+ if isinstance(item, str):
+ f = file(item)
+ header = self.hdrFromFdno(f)
+ f.close()
+ elif isinstance(item, file):
+ header = self.hdrFromFdno(item)
+ else:
+ header = item
+
if not how in ['u', 'i']:
raise ValueError, 'how argument must be "u" or "i"'
upgrade = (how == "u")