Skip to content

Commit 9a954b7

Browse files
authored
Swallow PackagesNotFoundError when generating size report (#589)
2 parents 3628594 + fe86847 commit 9a954b7

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/utils.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import conda.cli.python_api
55
from conda.env.specs import RequirementsSpec
6+
from conda.exceptions import PackagesNotFoundError
67
from conda.models.match_spec import MatchSpec
78
from semver import Version
89

@@ -104,9 +105,14 @@ def pull_conda_package_metadata(image_config, image_artifact_dir):
104105
for package, match_spec_out in target_packages_match_spec_out.items():
105106
if str(match_spec_out).startswith("conda-forge"):
106107
# Pull package metadata from conda-forge and dump into json file
107-
search_result = conda.cli.python_api.run_command("search", str(match_spec_out), "--json")
108-
package_metadata = json.loads(search_result[0])[package][0]
109-
results[package] = {"version": package_metadata["version"], "size": package_metadata["size"]}
108+
try:
109+
search_result = conda.cli.python_api.run_command("search", str(match_spec_out), "--json")
110+
package_metadata = json.loads(search_result[0])[package][0]
111+
results[package] = {"version": package_metadata["version"], "size": package_metadata["size"]}
112+
except PackagesNotFoundError:
113+
print(
114+
f"Failed to pull package metadata for {package}, {match_spec_out} from conda-forge, ignore. Potentially this package is broken."
115+
)
110116
# Sort the pakcage sizes in decreasing order
111117
results = {k: v for k, v in sorted(results.items(), key=lambda item: item[1]["size"], reverse=True)}
112118

0 commit comments

Comments
 (0)