summaryrefslogtreecommitdiff
path: root/apt
diff options
context:
space:
mode:
authorMichael Vogt <egon@debian-devbox>2011-12-01 14:13:28 +0100
committerMichael Vogt <egon@debian-devbox>2011-12-01 14:13:28 +0100
commitf0b627313d8c84116c860723a21d38b686a946ca (patch)
tree051a34a91c17964845a8dc26d79532f33558d8ee /apt
parentd76a13a50fda292fe011a86f2b761d5753dc1470 (diff)
parentd236f527f85b185144875e0e7ad9102c4c2dabd0 (diff)
downloadpython-apt-f0b627313d8c84116c860723a21d38b686a946ca.tar.gz
merged from lp:~mvo/apt/mvo
Diffstat (limited to 'apt')
-rw-r--r--apt/debfile.py19
-rw-r--r--apt/package.py16
-rw-r--r--apt/progress/base.py4
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