diff options
author | Tim Harder <radhermit@gmail.com> | 2015-11-29 19:58:14 -0500 |
---|---|---|
committer | Tim Harder <radhermit@gmail.com> | 2015-11-29 19:58:14 -0500 |
commit | 7ce73156e8634b50a5551503f81ebb9ce65b5065 (patch) | |
tree | 9e01d3727bd2770d572a1f73fe98565aa00fdef0 | |
parent | travis-ci: start reporting coverage to codecov.io as well (diff) | |
download | pkgcore-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.py | 15 |
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): |