diff options
| author | Michael Vogt <egon@debian-devbox> | 2011-12-01 14:13:28 +0100 |
|---|---|---|
| committer | Michael Vogt <egon@debian-devbox> | 2011-12-01 14:13:28 +0100 |
| commit | f0b627313d8c84116c860723a21d38b686a946ca (patch) | |
| tree | 051a34a91c17964845a8dc26d79532f33558d8ee /apt | |
| parent | d76a13a50fda292fe011a86f2b761d5753dc1470 (diff) | |
| parent | d236f527f85b185144875e0e7ad9102c4c2dabd0 (diff) | |
| download | python-apt-f0b627313d8c84116c860723a21d38b686a946ca.tar.gz | |
merged from lp:~mvo/apt/mvo
Diffstat (limited to 'apt')
| -rw-r--r-- | apt/debfile.py | 19 | ||||
| -rw-r--r-- | apt/package.py | 16 | ||||
| -rw-r--r-- | apt/progress/base.py | 4 |
3 files changed, 28 insertions, 11 deletions
diff --git a/apt/debfile.py b/apt/debfile.py index 277262d7..c91ce349 100644 --- a/apt/debfile.py +++ b/apt/debfile.py @@ -530,11 +530,20 @@ class DebPackage(object): @staticmethod def to_strish(in_data): s = "" - for c in in_data: - if ord(c) < 10 or ord(c) > 127: - s += " " - else: - s += c + # py2 compat, in_data is type string + if type(in_data) == str: + for c in in_data: + if ord(c) < 10 or ord(c) > 127: + s += " " + else: + s += c + # py3 compat, in_data is type bytes + else: + for b in in_data: + if b < 10 or b > 127: + s += " " + else: + s += chr(b) return s def _get_content(self, part, name, auto_decompress=True, auto_hex=True): diff --git a/apt/package.py b/apt/package.py index 45d6044b..81f33a8b 100644 --- a/apt/package.py +++ b/apt/package.py @@ -94,7 +94,7 @@ class BaseDependency(object): preDepend = AttributeDeprecatedBy('pre_depend') -class Dependency(object): +class Dependency(list): """Represent an Or-group of dependencies. Attributes defined here: @@ -102,11 +102,12 @@ class Dependency(object): """ def __init__(self, alternatives): - self.or_dependencies = alternatives - - def __repr__(self): - return repr(self.or_dependencies) + super(Dependency, self).__init__() + self.extend(alternatives) + @property + def or_dependencies(self): + return self class DeprecatedProperty(property): """A property which gives DeprecationWarning on access. @@ -455,6 +456,11 @@ class Version(object): return self.get_dependencies("Recommends") @property + def suggests(self): + """Return the suggests of the package version.""" + return self.get_dependencies("Suggests") + + @property def origins(self): """Return a list of origins for the package version.""" origins = [] diff --git a/apt/progress/base.py b/apt/progress/base.py index 97375431..4943978c 100644 --- a/apt/progress/base.py +++ b/apt/progress/base.py @@ -27,6 +27,7 @@ import fcntl import os import re import select +import sys import apt_pkg @@ -196,7 +197,8 @@ class InstallProgress(object): os._exit(os.spawnlp(os.P_WAIT, "dpkg", "dpkg", "--status-fd", str(self.write_stream.fileno()), "-i", obj)) - except Exception: + except Exception as e: + sys.stderr.write("%s\n" % e) os._exit(apt_pkg.PackageManager.RESULT_FAILED) self.child_pid = pid |
