diff options
author | Kornel <kornel@geekhood.net> | 2020-03-10 11:24:07 +0000 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2020-03-10 13:04:03 +0000 |
commit | c9732ed4cd96acf78956d600f337f5ffc6c01b17 (patch) | |
tree | 4b12d00da3dc680bd451590b5bb5e2db3278bf8b | |
parent | 3f03b031bfe2ae6665422735037ac262fd668bee (diff) |
Fix missing invite data
-rw-r--r-- | datadump/src/main.rs | 2 | ||||
-rw-r--r-- | kitchen_sink/src/lib_kitchen_sink.rs | 15 |
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)?; |