bear unexpected checksum type when getting metadata
authorGui Chen <gui.chen@intel.com>
Tue, 14 Aug 2012 13:53:51 +0000 (21:53 +0800)
committerGui Chen <gui.chen@intel.com>
Tue, 14 Aug 2012 13:53:51 +0000 (21:53 +0800)
Signed-off-by: Gui Chen <gui.chen@intel.com>
mic/utils/misc.py

index 932d180..e7a3f5c 100644 (file)
@@ -462,10 +462,16 @@ def _get_metadata_from_repo(baseurl, proxies, cachedir, reponame, filename,
     else:
         filename = filename_tmp
     if sumtype and checksum and os.path.exists(filename):
-        sumcmd = "%ssum" % sumtype
-        file_checksum = runner.outs([sumcmd, filename]).split()[0]
-        if file_checksum == checksum:
+        try:
+            sumcmd = find_binary_path("%ssum" % sumtype)
+        except:
+            file_checksum = None
+        else:
+            file_checksum = runner.outs([sumcmd, filename]).split()[0]
+
+        if file_checksum and file_checksum == checksum:
             return filename
+
     return _get_uncompressed_data_from_url(url,filename_tmp,proxies)
 
 def get_metadata_from_repos(repos, cachedir):