summaryrefslogtreecommitdiff
path: root/apt/cache.py
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2009-09-18 08:53:58 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2009-09-18 08:53:58 +0200
commit2b120e26a62d75fc882ed1d9d9e3566037e10157 (patch)
tree7d5eaf7e76d1ba4b4ad5c44eef2fcc93ef5192e1 /apt/cache.py
parent7acb16fc4baa43cf2cbbc4de948973bdc099d878 (diff)
parentbe85eeaeadf8b93021413ab7ed79e639b65102a6 (diff)
downloadpython-apt-2b120e26a62d75fc882ed1d9d9e3566037e10157.tar.gz
merged from debian
Diffstat (limited to 'apt/cache.py')
-rw-r--r--apt/cache.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/apt/cache.py b/apt/cache.py
index bb944041..fa6c404c 100644
--- a/apt/cache.py
+++ b/apt/cache.py
@@ -270,7 +270,7 @@ class Cache(object):
providers.append(pkg)
return providers
- def update(self, fetchProgress=None, pulseInterval=0):
+ def update(self, fetchProgress=None, pulseInterval=0, raiseOnError=False):
" run the equivalent of apt-get update "
lockfile = apt_pkg.Config.FindDir("Dir::State::Lists") + "lock"
lock = apt_pkg.GetLock(lockfile)
@@ -280,7 +280,14 @@ class Cache(object):
try:
if fetchProgress is None:
fetchProgress = apt.progress.FetchProgress()
- return self._cache.Update(fetchProgress, self._list, pulseInterval)
+ res = self._cache.Update(fetchProgress, self._list, pulseInterval)
+
+ if res == 2 and raiseOnError:
+ raise FetchCancelledException()
+ elif res == 1 and raiseOnError:
+ raise FetchFailedException()
+ else:
+ return res
finally:
os.close(lock)