aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gmail.com>2015-11-29 19:58:14 -0500
committerTim Harder <radhermit@gmail.com>2015-11-29 19:58:14 -0500
commit7ce73156e8634b50a5551503f81ebb9ce65b5065 (patch)
tree9e01d3727bd2770d572a1f73fe98565aa00fdef0
parenttravis-ci: start reporting coverage to codecov.io as well (diff)
downloadpkgcore-7ce73156e8634b50a5551503f81ebb9ce65b5065.tar.gz
pkgcore-7ce73156e8634b50a5551503f81ebb9ce65b5065.tar.bz2
pkgcore-7ce73156e8634b50a5551503f81ebb9ce65b5065.zip
digest: simplify forcing single parsing of Manifests
Also, always keep a proper 'path' attribute around for Manifest objects (used in pkgcheck).
-rw-r--r--pkgcore/ebuild/digest.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/pkgcore/ebuild/digest.py b/pkgcore/ebuild/digest.py
index ebb84b0d..4390683c 100644
--- a/pkgcore/ebuild/digest.py
+++ b/pkgcore/ebuild/digest.py
@@ -153,23 +153,24 @@ def parse_manifest(source, ignore_gpg=True):
class Manifest(object):
- def __init__(self, source, enforce_gpg=False, thin=False, allow_missing=False):
- self._source = (source, not enforce_gpg)
+ def __init__(self, path, enforce_gpg=False, thin=False, allow_missing=False):
+ self.path = path
self.thin = thin
self.allow_missing = allow_missing
+ self._gpg = enforce_gpg
+ self._sourced = False
def _pull_manifest(self):
- if self._source is None:
+ if self._sourced:
return
- source, gpg = self._source
try:
- data = parse_manifest(source, ignore_gpg=gpg)
+ data = parse_manifest(self.path, ignore_gpg=self._gpg)
except EnvironmentError as e:
if not (self.thin or self.allow_missing) or e.errno != errno.ENOENT:
- raise_from(errors.ParseChksumError(source, e))
+ raise_from(errors.ParseChksumError(self.path, e))
data = {}, {}, {}, {}
self._dist, self._aux, self._ebuild, self._misc = data
- self._source = None
+ self._sourced = True
@property
def required_files(self):