diff options
| author | Julian Andres Klode <jak@debian.org> | 2009-04-17 18:01:30 +0200 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2009-04-17 18:01:30 +0200 |
| commit | 6bc61a050bd278b28e883b91cfa5999a7cf76d9d (patch) | |
| tree | 524ed3313f0b87a67cb947c727021deea2d55d51 | |
| parent | 79cba28b2346909a12e4ce225bc25b164c33f062 (diff) | |
| download | python-apt-6bc61a050bd278b28e883b91cfa5999a7cf76d9d.tar.gz | |
* apt/package.py: Where possible, derive apt.package.Record from collections.Mapping.
This works on Python 2.6 and newer and enhances the Record class with some new methods
on these platforms, e.g. keys().
| -rw-r--r-- | apt/package.py | 13 | ||||
| -rw-r--r-- | debian/changelog | 3 |
2 files changed, 14 insertions, 2 deletions
diff --git a/apt/package.py b/apt/package.py index 1a2626fa..411f9635 100644 --- a/apt/package.py +++ b/apt/package.py @@ -28,6 +28,11 @@ import socket import subprocess import urllib2 import warnings +try: + from collections import Mapping +except ImportError: + # (for Python < 2.6) pylint: disable-msg=C0103 + Mapping = object import apt_pkg import apt.progress @@ -145,7 +150,7 @@ class Origin(object): self.site, self.trusted) -class Record(object): +class Record(Mapping): """Represent a pkgRecord. It can be accessed like a dictionary and can also give the original package @@ -155,6 +160,9 @@ class Record(object): def __init__(self, record_str): self._rec = apt_pkg.ParseSection(record_str) + def __hash__(self): + return hash(self._rec) + def __str__(self): return str(self._rec) @@ -183,6 +191,9 @@ class Record(object): """deprecated form of ``key in x``.""" return key in self._rec + def __len__(self): + return len(self._rec) + class Version(object): """Representation of a package version. diff --git a/debian/changelog b/debian/changelog index e344c145..e8e14306 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,9 @@ python-apt (0.7.91) UNRELEASED; urgency=low * Rename all methods,functions,attributes to conform to PEP 8 (Closes: #481061) + * Where possible, derive apt.package.Record from collections.Mapping. - -- Julian Andres Klode <jak@debian.org> Thu, 16 Apr 2009 18:54:29 +0200 + -- Julian Andres Klode <jak@debian.org> Fri, 17 Apr 2009 17:48:27 +0200 python-apt (0.7.90) experimental; urgency=low |
