summaryrefslogtreecommitdiff
path: root/apt/package.py
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2009-04-12 19:07:25 +0200
committerJulian Andres Klode <jak@debian.org>2009-04-12 19:07:25 +0200
commit8e4f00f1b6349b55eebce3c9cccbcab7ab438a85 (patch)
tree5f05ce0e1ab5155e54d851f24be2a0576c8e998c /apt/package.py
parentd7e542cd8973684d110c0512a49981e672df23e1 (diff)
downloadpython-apt-8e4f00f1b6349b55eebce3c9cccbcab7ab438a85.tar.gz
apt/package.py: Handle cases where no candidate is available and
one of the deprecated properties (e.g. candidateVersion) is requested. (Closes: #523801)
Diffstat (limited to 'apt/package.py')
-rw-r--r--apt/package.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/apt/package.py b/apt/package.py
index 00f563e4..0e13957f 100644
--- a/apt/package.py
+++ b/apt/package.py
@@ -529,12 +529,12 @@ class Package(object):
@DeprecatedProperty
def candidateVersion(self):
"""Return the candidate version as string."""
- return self.candidate.version
+ return getattr(self.candidate, "version", None)
@DeprecatedProperty
def candidateDependencies(self):
"""Return a list of candidate dependencies."""
- return self.candidate.dependencies
+ return getattr(self.candidate, "dependencies", None)
@DeprecatedProperty
def installedDependencies(self):
@@ -544,12 +544,12 @@ class Package(object):
@DeprecatedProperty
def architecture(self):
"""Return the Architecture of the package"""
- return self.candidate.architecture
+ return getattr(self.candidate, "architecture", None)
@DeprecatedProperty
def candidateDownloadable(self):
"""Return True if the candidate is downloadable."""
- return self.candidate.downloadable
+ return getattr(self.candidate, "downloadable", None)
@DeprecatedProperty
def installedDownloadable(self):
@@ -570,7 +570,7 @@ class Package(object):
@DeprecatedProperty
def homepage(self):
"""Return the homepage field as string."""
- return self.candidate.homepage
+ return getattr(self.candidate, "homepage", None)
@property
def section(self):
@@ -580,7 +580,7 @@ class Package(object):
@DeprecatedProperty
def priority(self):
"""Return the priority (of the candidate version)."""
- return self.candidate.priority
+ return getattr(self.candidate, "priority", None)
@DeprecatedProperty
def installedPriority(self):
@@ -590,7 +590,7 @@ class Package(object):
@DeprecatedProperty
def summary(self):
"""Return the short description (one line summary)."""
- return self.candidate.summary
+ return getattr(self.candidate, "summary", None)
@DeprecatedProperty
def description(self):
@@ -601,17 +601,17 @@ class Package(object):
See http://www.debian.org/doc/debian-policy/ch-controlfields.html
for more information.
"""
- return self.candidate.description
+ return getattr(self.candidate, "description", None)
@DeprecatedProperty
def rawDescription(self):
"""return the long description (raw)."""
- return self.candidate.raw_description
+ return getattr(self.candidate, "raw_description", None)
@DeprecatedProperty
def candidateRecord(self):
"""Return the Record of the candidate version of the package."""
- return self.candidate.record
+ return getattr(self.candidate, "record", None)
@DeprecatedProperty
def installedRecord(self):
@@ -676,7 +676,7 @@ class Package(object):
@DeprecatedProperty
def packageSize(self):
"""Return the size of the candidate deb package."""
- return self.candidate.size
+ return getattr(self.candidate, "size", None)
@DeprecatedProperty
def installedPackageSize(self):
@@ -686,7 +686,7 @@ class Package(object):
@DeprecatedProperty
def candidateInstalledSize(self):
"""Return the size of the candidate installed package."""
- return self.candidate.installed_size
+ return getattr(self.candidate, "installed_size", None)
@DeprecatedProperty
def installedSize(self):
@@ -731,6 +731,8 @@ class Package(object):
return self._changelog
if uri is None:
+ if not self.candidate:
+ pass
if self.candidate.origins[0].origin == "Debian":
uri = "http://packages.debian.org/changelogs/pool" \
"/%(src_section)s/%(prefix)s/%(src_pkg)s" \
@@ -863,7 +865,7 @@ class Package(object):
@DeprecatedProperty
def candidateOrigin(self):
"""Return a list of Origin() objects for the candidate version."""
- return self.candidate.origins
+ return getattr(self.candidate, "origins", None)
@property
def versions(self):