You can just git-send-email them to the mailing list or even push a git
branch somewhere.
Alrighty. Then let's stick to the bug for the time being as it contains
already the context for the patches.
See attached the patch with the PEP8 linter and pyflakes fixes. PEP8
only showed typical minor issues (indentation, line continuation, ...)
and pyflakes only found an unused import and an unused variable.
>From 865b39a4f2ed566e7dd7fc13ff83ea26edbab000 Mon Sep 17 00:00:00 2001
From: Michael Schaller <mich...@5challer.de>
Date: Tue, 31 Dec 2013 13:55:09 +0100
Subject: [PATCH] apt/cache.py, apt/package.py: Fixed PEP8 and pyflakes issues
---
apt/cache.py | 53 +++++++++++++++++++++++++----------------------------
apt/package.py | 40 +++++++++++++++++++---------------------
debian/changelog | 3 +++
3 files changed, 47 insertions(+), 49 deletions(-)
diff --git a/apt/cache.py b/apt/cache.py
index 43fb55d..6b1e2bd 100644
--- a/apt/cache.py
+++ b/apt/cache.py
@@ -40,6 +40,7 @@ class FetchFailedException(IOError):
class LockFailedException(IOError):
"""Exception that is thrown when locking fails."""
+
class CacheClosedException(Exception):
"""Exception that is thrown when the cache is used after close()."""
@@ -53,7 +54,7 @@ class Cache(object):
list of available packages.
The cache can be used like a mapping from package names to Package
- objects (although only getting items is supported).
+ objects (although only getting items is supported).
Keyword arguments:
progress -- a OpProgress object
@@ -74,7 +75,7 @@ class Cache(object):
self._fullnameset = set()
self._changes_count = -1
self._sorted_set = None
-
+
self.connect("cache_post_open", self._inc_changes_count)
self.connect("cache_post_change", self._inc_changes_count)
if memonly:
@@ -86,17 +87,17 @@ class Cache(object):
apt_pkg.config.clear("APT")
apt_pkg.config.set("Dir", rootdir)
apt_pkg.init_config()
- if os.path.exists(rootdir+"/etc/apt/apt.conf"):
+ if os.path.exists(rootdir + "/etc/apt/apt.conf"):
apt_pkg.read_config_file(apt_pkg.config,
- rootdir + "/etc/apt/apt.conf")
- if os.path.isdir(rootdir+"/etc/apt/apt.conf.d"):
+ rootdir + "/etc/apt/apt.conf")
+ if os.path.isdir(rootdir + "/etc/apt/apt.conf.d"):
apt_pkg.read_config_dir(apt_pkg.config,
- rootdir + "/etc/apt/apt.conf.d")
+ rootdir + "/etc/apt/apt.conf.d")
apt_pkg.config.set("Dir::State::status",
rootdir + "/var/lib/dpkg/status")
# also set dpkg to the rootdir path so that its called for the
# --print-foreign-architectures call
- apt_pkg.config.set("Dir::bin::dpkg",
+ apt_pkg.config.set("Dir::bin::dpkg",
os.path.join(rootdir, "usr", "bin", "dpkg"))
# create required dirs/files when run with special rootdir
# automatically
@@ -105,7 +106,6 @@ class Cache(object):
# recognized (LP: #320665)
apt_pkg.init_system()
self.open(progress)
-
def _inc_changes_count(self):
"""Increase the number of changes"""
@@ -118,12 +118,12 @@ class Cache(object):
"""
files = ["/var/lib/dpkg/status",
"/etc/apt/sources.list",
- ]
+ ]
dirs = ["/var/lib/dpkg",
"/etc/apt/",
"/var/cache/apt/archives/partial",
"/var/lib/apt/lists/partial",
- ]
+ ]
for d in dirs:
if not os.path.exists(rootdir + d):
#print "creating: ", rootdir + d
@@ -165,8 +165,8 @@ class Cache(object):
i = last = 0
size = len(self._cache.packages)
for pkg in self._cache.packages:
- if progress is not None and last+100 < i:
- progress.update(i/float(size)*100)
+ if progress is not None and last + 100 < i:
+ progress.update(i / float(size) * 100)
last = i
# drop stuff with no versions (cruft)
if pkg.has_versions:
@@ -259,7 +259,8 @@ class Cache(object):
def required_download(self):
"""Get the size of the packages that are required to download."""
if self._records is None:
- raise CacheClosedException("Cache object used after close() called")
+ raise CacheClosedException(
+ "Cache object used after close() called")
pm = apt_pkg.PackageManager(self._depcache)
fetcher = apt_pkg.Acquire()
pm.get_archives(fetcher, self._list, self._records)
@@ -289,16 +290,14 @@ class Cache(object):
# now check the result (this is the code from apt-get.cc)
failed = False
- transient = False
err_msg = ""
for item in fetcher.items:
if item.status == item.STAT_DONE:
continue
if item.STAT_IDLE:
- transient = True
continue
err_msg += "Failed to fetch %s %s\n" % (item.desc_uri,
- item.error_text)
+ item.error_text)
failed = True
# we raise a exception if the download failed or it was cancelt
@@ -311,7 +310,8 @@ class Cache(object):
def _fetch_archives(self, fetcher, pm):
""" fetch the needed archives """
if self._records is None:
- raise CacheClosedException("Cache object used after close() called")
+ raise CacheClosedException(
+ "Cache object used after close() called")
# get lock
lockfile = apt_pkg.config.find_dir("Dir::Cache::Archives") + "lock"
@@ -349,7 +349,6 @@ class Cache(object):
if fetcher is None:
fetcher = apt_pkg.Acquire(progress)
-
return self._fetch_archives(fetcher,
apt_pkg.PackageManager(self._depcache))
@@ -362,12 +361,12 @@ class Cache(object):
else:
return bool(pkg.has_provides and not pkg.has_versions)
- def get_providing_packages(self, pkgname, candidate_only=True,
+ def get_providing_packages(self, pkgname, candidate_only=True,
include_nonvirtual=False):
"""Return a list of all packages providing a package.
-
+
Return a list of packages which provide the virtual package of the
- specified name.
+ specified name.
If 'candidate_only' is False, return all packages with at
least one version providing the virtual package. Otherwise,
@@ -378,7 +377,7 @@ class Cache(object):
packages providing pkgname, even if pkgname is not itself
a virtual pkg.
"""
-
+
providers = set()
get_candidate_ver = self._depcache.get_candidate_ver
try:
@@ -423,7 +422,8 @@ class Cache(object):
old_sources_list = apt_pkg.config.find("Dir::Etc::sourcelist")
old_sources_list_d = apt_pkg.config.find("Dir::Etc::sourceparts")
old_cleanup = apt_pkg.config.find("APT::List-Cleanup")
- apt_pkg.config.set("Dir::Etc::sourcelist", os.path.abspath(sources_list))
+ apt_pkg.config.set("Dir::Etc::sourcelist",
+ os.path.abspath(sources_list))
apt_pkg.config.set("Dir::Etc::sourceparts", "xxx")
apt_pkg.config.set("APT::List-Cleanup", "0")
slist = apt_pkg.SourceList()
@@ -559,9 +559,9 @@ class Cache(object):
@property
def dpkg_journal_dirty(self):
"""Return True if the dpkg was interrupted
-
+
All dpkg operations will fail until this is fixed, the action to
- fix the system if dpkg got interrupted is to run
+ fix the system if dpkg got interrupted is to run
'dpkg --configure -a' as root.
"""
dpkg_status_dir = os.path.dirname(
@@ -711,7 +711,6 @@ class FilteredCache(object):
#print "filterCachePostChange()"
self._reapply_filter()
-
# def connect(self, name, callback):
# self.cache.connect(name, callback)
@@ -750,8 +749,6 @@ def _test():
for pkg in changes:
assert pkg.name
-
-
# see if fetching works
for dirname in ["/tmp/pytest", "/tmp/pytest/partial"]:
if not os.path.exists(dirname):
diff --git a/apt/package.py b/apt/package.py
index 04d4ddd..79dac71 100644
--- a/apt/package.py
+++ b/apt/package.py
@@ -26,7 +26,6 @@ import re
import socket
import subprocess
import urllib2
-import warnings
try:
from collections import Mapping, Sequence
except ImportError:
@@ -335,7 +334,7 @@ class Version(object):
dsc = unicode(dsc, "utf-8")
except UnicodeDecodeError as err:
return _("Invalid unicode in description for '%s' (%s). "
- "Please report.") % (self.package.name, err)
+ "Please report.") % (self.package.name, err)
lines = iter(dsc.split("\n"))
# Skip the first line, since its a duplication of the summary
@@ -416,8 +415,8 @@ class Version(object):
base_deps = []
for dep_or in dep_ver_list:
base_deps.append(BaseDependency(dep_or.target_pkg.name,
- dep_or.comp_type, dep_or.target_ver,
- (type_ == "PreDepends"),
+ dep_or.comp_type, dep_or.target_ver,
+ (type_ == "PreDepends"),
rawtype=type_))
depends_list.append(Dependency(base_deps))
except KeyError:
@@ -428,7 +427,7 @@ class Version(object):
def provides(self):
""" Return a list of names that this version provides."""
return [p[0] for p in self._cand.provides_list]
-
+
@property
def enhances(self):
"""Return the list of enhances for the package version."""
@@ -601,7 +600,7 @@ class Version(object):
for item in acq.items:
if item.status != item.STAT_DONE:
raise FetchError("The item %r could not be fetched: %s" %
- (item.destfile, item.error_text))
+ (item.destfile, item.error_text))
if unpack:
outdir = src.package + '-' + apt_pkg.upstream_version(src.version)
@@ -633,8 +632,8 @@ class VersionList(Sequence):
"""
def __init__(self, package, slice_=None):
- self._package = package # apt.package.Package()
- self._versions = package._pkg.version_list # [apt_pkg.Version(), ...]
+ self._package = package # apt.package.Package()
+ self._versions = package._pkg.version_list # [apt_pkg.Version(), ...]
if slice_:
self._versions = self._versions[slice_]
@@ -659,7 +658,7 @@ class VersionList(Sequence):
return (Version(self._package, ver) for ver in self._versions)
def __contains__(self, item):
- if isinstance(item, Version): # Sequence interface
+ if isinstance(item, Version): # Sequence interface
item = item.version
# Dictionary interface.
for ver in self._versions:
@@ -702,8 +701,8 @@ class Package(object):
self._changelog = "" # Cached changelog
def __repr__(self):
- return '<Package: name:%r architecture=%r id:%r>' % (self._pkg.name,
- self._pkg.architecture, self._pkg.id)
+ return '<Package: name:%r architecture=%r id:%r>' % (
+ self._pkg.name, self._pkg.architecture, self._pkg.id)
def __lt__(self, other):
return self.name < other.name
@@ -917,10 +916,10 @@ class Package(object):
src_section = "main"
# use the section of the candidate as a starting point
section = self.candidate.section
-
+
# get the source version
src_ver = self.candidate.source_version
-
+
try:
# try to get the source version of the pkg, this differs
# for some (e.g. libnspr4 on ubuntu)
@@ -1006,7 +1005,7 @@ class Package(object):
changelog_ver = changelog_ver.split(":", 1)[1]
if (installed and apt_pkg.version_compare(
- changelog_ver, installed) <= 0):
+ changelog_ver, installed) <= 0):
break
# EOF (shouldn't really happen)
changelog += line
@@ -1020,14 +1019,14 @@ class Package(object):
except urllib2.HTTPError:
res = _("The list of changes is not available yet.\n\n"
- "Please use http://launchpad.net/ubuntu/+source/%s/"
- "%s/+changelog\n"
- "until the changes become available or try again "
- "later.") % (src_pkg, src_ver)
+ "Please use http://launchpad.net/ubuntu/+source/%s/"
+ "%s/+changelog\n"
+ "until the changes become available or try again "
+ "later.") % (src_pkg, src_ver)
return res if isinstance(res, unicode) else res.decode("utf-8")
except (IOError, httplib.BadStatusLine):
res = _("Failed to download the list of changes. \nPlease "
- "check your Internet connection.")
+ "check your Internet connection.")
return res if isinstance(res, unicode) else res.decode("utf-8")
finally:
socket.setdefaulttimeout(timeout)
@@ -1168,12 +1167,11 @@ def _test():
print "Recommends: %s" % pkg.installed.recommends
for dep in pkg.candidate.dependencies:
print ",".join("%s (%s) (%s) (%s)" % (o.name, o.version, o.relation,
- o.pre_depend) for o in dep.or_dependencies)
+ o.pre_depend) for o in dep.or_dependencies)
print "arch: %s" % pkg.candidate.architecture
print "homepage: %s" % pkg.candidate.homepage
print "rec: ", pkg.candidate.record
-
print cache["2vcard"].get_changelog()
for i in True, False:
print "Running install on random upgradable pkgs with AutoFix: %s " % i
diff --git a/debian/changelog b/debian/changelog
index 52a1000..a7b037d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,9 @@ python-apt (0.9.2) UNRELEASED; urgency=low
* apt/cache.py:
- when using apt.Cache(rootdir=/some/dir) only read the APT
configuration from this rootdir instead of /etc (closes: #728274)
+ - Fixed PEP8 and pyflakes issues
+ * apt/package.py:
+ - Fixed PEP8 and pyflakes issues
-- Michael Vogt <michael.v...@ubuntu.com> Sat, 23 Nov 2013 08:49:51 +0100
--
1.8.3.2