Use get_valid_checksum_keys() function instead of accessing hashfunc_map
directly throughout the Portage.
---
 pym/portage/_emirrordist/FetchTask.py |  2 +-
 pym/portage/dbapi/bintree.py          |  4 ++--
 pym/portage/eclass_cache.py           |  2 +-
 pym/portage/manifest.py               |  4 ++--
 pym/portage/package/ebuild/fetch.py   | 10 +++++-----
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/pym/portage/_emirrordist/FetchTask.py 
b/pym/portage/_emirrordist/FetchTask.py
index 64de67582..203b8c213 100644
--- a/pym/portage/_emirrordist/FetchTask.py
+++ b/pym/portage/_emirrordist/FetchTask.py
@@ -574,7 +574,7 @@ class FetchTask(CompositeTask):
                else:
                        for hash_name in self.digests:
                                if hash_name != "size" and \
-                                       hash_name in 
portage.checksum.hashfunc_map:
+                                       hash_name in 
portage.checksum.get_valid_checksum_keys():
                                        return hash_name
 
                return None
diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py
index ae9e7caa2..12c3d3e51 100644
--- a/pym/portage/dbapi/bintree.py
+++ b/pym/portage/dbapi/bintree.py
@@ -7,7 +7,7 @@ __all__ = ["bindbapi", "binarytree"]
 
 import portage
 portage.proxy.lazyimport.lazyimport(globals(),
-       'portage.checksum:hashfunc_map,perform_multiple_checksums,' + \
+       'portage.checksum:get_valid_checksum_keys,perform_multiple_checksums,' 
+ \
                'verify_all,_apply_hash_filter,_hash_filter',
        'portage.dbapi.dep_expand:dep_expand',
        'portage.dep:dep_getkey,isjustname,isvalidatom,match_from_list',
@@ -1546,7 +1546,7 @@ class binarytree(object):
                if metadata is None:
                        return digests
 
-               for k in hashfunc_map:
+               for k in get_valid_checksum_keys():
                        v = metadata.get(k)
                        if not v:
                                continue
diff --git a/pym/portage/eclass_cache.py b/pym/portage/eclass_cache.py
index 2988d25d6..d2d9e2710 100644
--- a/pym/portage/eclass_cache.py
+++ b/pym/portage/eclass_cache.py
@@ -48,7 +48,7 @@ class hashed_path(object):
                        # we don't care to allow .mD5 as an alias for .md5
                        raise AttributeError(attr)
                hashname = attr.upper()
-               if hashname not in checksum.hashfunc_map:
+               if hashname not in checksum.get_valid_checksum_keys():
                        raise AttributeError(attr)
                val = checksum.perform_checksum(self.location, hashname)[0]
                setattr(self, attr, val)
diff --git a/pym/portage/manifest.py b/pym/portage/manifest.py
index 7278e21c1..28a77ba87 100644
--- a/pym/portage/manifest.py
+++ b/pym/portage/manifest.py
@@ -13,7 +13,7 @@ import warnings
 
 import portage
 portage.proxy.lazyimport.lazyimport(globals(),
-       'portage.checksum:hashfunc_map,perform_multiple_checksums,' + \
+       'portage.checksum:get_valid_checksum_keys,perform_multiple_checksums,' 
+ \
                'verify_all,_apply_hash_filter,_filter_unaccelarated_hashes',
        'portage.repository.config:_find_invalid_path_char',
        'portage.util:write_atomic,writemsg_level',
@@ -154,7 +154,7 @@ class Manifest(object):
 
                
self.hashes.update(hashes.intersection(MANIFEST2_HASH_FUNCTIONS))
                self.hashes.difference_update(hashname for hashname in \
-                       list(self.hashes) if hashname not in hashfunc_map)
+                       list(self.hashes) if hashname not in 
get_valid_checksum_keys())
                self.hashes.add("size")
                self.hashes.add(MANIFEST2_REQUIRED_HASH)
                for t in MANIFEST2_IDENTIFIERS:
diff --git a/pym/portage/package/ebuild/fetch.py 
b/pym/portage/package/ebuild/fetch.py
index 8755b7522..5c4b74446 100644
--- a/pym/portage/package/ebuild/fetch.py
+++ b/pym/portage/package/ebuild/fetch.py
@@ -29,7 +29,7 @@ portage.proxy.lazyimport.lazyimport(globals(),
 
 from portage import OrderedDict, os, selinux, shutil, _encodings, \
        _shell_quote, _unicode_encode
-from portage.checksum import (hashfunc_map, perform_md5, verify_all,
+from portage.checksum import (get_valid_checksum_keys, perform_md5, verify_all,
        _filter_unaccelarated_hashes, _hash_filter, _apply_hash_filter)
 from portage.const import BASH_BINARY, CUSTOM_MIRRORS_FILE, \
        GLOBAL_CONFIG_PATH
@@ -551,6 +551,8 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0,
        distdir_writable = can_fetch and not fetch_to_ro
        failed_files = set()
        restrict_fetch_msg = False
+       valid_hashes = frozenset(get_valid_checksum_keys())
+       valid_hashes.discard("size")
 
        for myfile in filedict:
                """
@@ -564,11 +566,9 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0,
                orig_digests = mydigests.get(myfile, {})
 
                if not (allow_missing_digests or listonly):
-                       verifiable_hash_types = 
set(orig_digests).intersection(hashfunc_map)
-                       verifiable_hash_types.discard("size")
+                       verifiable_hash_types = 
set(orig_digests).intersection(valid_hashes)
                        if not verifiable_hash_types:
-                               expected = set(hashfunc_map)
-                               expected.discard("size")
+                               expected = set(valid_hashes)
                                expected = " ".join(sorted(expected))
                                got = set(orig_digests)
                                got.discard("size")
-- 
2.12.0


Reply via email to