summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKornel <kornel@geekhood.net>2020-03-10 11:24:07 +0000
committerKornel <kornel@geekhood.net>2020-03-10 13:04:03 +0000
commitc9732ed4cd96acf78956d600f337f5ffc6c01b17 (patch)
tree4b12d00da3dc680bd451590b5bb5e2db3278bf8b
parent3f03b031bfe2ae6665422735037ac262fd668bee (diff)
Fix missing invite data
-rw-r--r--datadump/src/main.rs2
-rw-r--r--kitchen_sink/src/lib_kitchen_sink.rs15
2 files changed, 15 insertions, 2 deletions
diff --git a/datadump/src/main.rs b/datadump/src/main.rs
index b60df79..d002cb5 100644
--- a/datadump/src/main.rs
+++ b/datadump/src/main.rs
@@ -82,7 +82,7 @@ async fn main() -> Result<(), BoxErr> {
if let (Some(crates), Some(teams), Some(users)) = (crates, teams, users) {
if let Some(crate_owners) = crate_owners.take() {
- eprintln!("Indexing {} owners", crate_owners.len());
+ eprintln!("Indexing owners of {} crates", crate_owners.len());
handle.spawn(async move {
index_owners(&crates, crate_owners, &teams, &users, &ksink).await.unwrap();
});
diff --git a/kitchen_sink/src/lib_kitchen_sink.rs b/kitchen_sink/src/lib_kitchen_sink.rs
index 71d6c06..af015f0 100644
--- a/kitchen_sink/src/lib_kitchen_sink.rs
+++ b/kitchen_sink/src/lib_kitchen_sink.rs
@@ -1907,7 +1907,20 @@ impl KitchenSink {
}
}
- pub async fn index_crates_io_crate_owners(&self, origin: &Origin, owners: Vec<CrateOwner>) -> CResult<()> {
+ pub async fn index_crates_io_crate_owners(&self, origin: &Origin, mut owners: Vec<CrateOwner>) -> CResult<()> {
+ for o in &mut owners {
+ if o.github_id == o.invited_by_github_id {
+ o.invited_by_github_id = None;
+ }
+ }
+ owners.sort_by(|a,b| a.invited_at.cmp(&b.invited_at));
+ // crates.io has some data missing?
+ if owners.len() >= 2 {
+ if owners[1].invited_by_github_id.is_none() {
+ owners[1].invited_by_github_id = owners[0].invited_by_github_id.or(owners[0].github_id);
+ }
+ }
+
self.crate_db.index_crate_owners(origin, &owners).await?;
if let Origin::CratesIo(name) = origin {
self.crates_io_owners_cache.set(&**name, owners)?;