diff options
author | Kornel <kornel@geekhood.net> | 2020-03-21 17:28:33 +0000 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2020-03-21 17:28:33 +0000 |
commit | c7aed28a777b9728765f8ff4a6f16fac886bc89e (patch) | |
tree | 4509a36e71fc7d0e728fad187d2b3bfc8f238702 /reindex | |
parent | 2f9e736ca8d6728d572c5ebf6dca5013b4215051 (diff) |
Don't panic on bad crate names
Diffstat (limited to 'reindex')
-rw-r--r-- | reindex/src/bin/reindex_crates.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/reindex/src/bin/reindex_crates.rs b/reindex/src/bin/reindex_crates.rs index 73d71a8..7ab1383 100644 --- a/reindex/src/bin/reindex_crates.rs +++ b/reindex/src/bin/reindex_crates.rs @@ -259,8 +259,9 @@ async fn crate_overall_score(crates: &KitchenSink, all: &RichCrate, k: &RichCrat temp_inp.number_of_indirect_reverse_deps = deps.runtime.def.max(deps.build.def).into(); temp_inp.number_of_indirect_reverse_optional_deps = indirect_reverse_optional_deps; let tmp = futures::future::join_all(deps.rev_dep_names.iter() - .map(|name| async move { - crates.downloads_per_month(&Origin::from_crates_io_name(name)).await + .filter_map(|name| Origin::try_from_crates_io_name(name)) + .map(|o| async move { + crates.downloads_per_month(&o).await })).await; let biggest = tmp.into_iter().filter_map(|x| x.ok().and_then(|x| x)).max().unwrap_or(0); temp_inp.downloads_per_month_minus_most_downloaded_user = downloads_per_month.saturating_sub(biggest as u32); |