@@ -86,6 +86,10 @@ async fn run_inner(state: State) -> Result<(), Box<dyn std::error::Error>> {
8686 ) ,
8787 ) ;
8888
89+ for version in extension. versions . iter_mut ( ) {
90+ version. downloads = 0 ;
91+ }
92+
8993 if let Some ( key) = extension. platforms . get_mut ( "SOURCEXCHANGE" ) {
9094 if let Some ( sxc_product) = sxc_products. iter ( ) . find ( |product| product. url == key. url ) {
9195 match state
@@ -120,6 +124,15 @@ async fn run_inner(state: State) -> Result<(), Box<dyn std::error::Error>> {
120124 if versions. len ( ) > extension. versions . len ( ) {
121125 versions. sort_unstable_by ( |a, b| a. created . cmp ( & b. created ) . reverse ( ) ) ;
122126 extension. versions = versions;
127+ } else {
128+ for version in extension. versions . iter_mut ( ) {
129+ if let Some ( sxc_version) = versions
130+ . iter ( )
131+ . find ( |sxc_version| sxc_version. name == version. name )
132+ {
133+ version. downloads += sxc_version. downloads ;
134+ }
135+ }
123136 }
124137
125138 * key = ExtensionPlatform {
@@ -212,6 +225,15 @@ async fn run_inner(state: State) -> Result<(), Box<dyn std::error::Error>> {
212225 a. created . cmp ( & b. created ) . reverse ( )
213226 } ) ;
214227 extension. versions = versions;
228+ } else {
229+ for version in extension. versions . iter_mut ( ) {
230+ if let Some ( bbb_version) = versions
231+ . iter ( )
232+ . find ( |bbb_version| bbb_version. name == version. name )
233+ {
234+ version. downloads += bbb_version. downloads ;
235+ }
236+ }
215237 }
216238
217239 * key = ExtensionPlatform {
@@ -283,6 +305,15 @@ async fn run_inner(state: State) -> Result<(), Box<dyn std::error::Error>> {
283305 if versions. len ( ) > extension. versions . len ( ) {
284306 versions. sort_unstable_by ( |a, b| a. created . cmp ( & b. created ) . reverse ( ) ) ;
285307 extension. versions = versions;
308+ } else {
309+ for version in extension. versions . iter_mut ( ) {
310+ if let Some ( github_version) = versions
311+ . iter ( )
312+ . find ( |github_version| github_version. name == version. name )
313+ {
314+ version. downloads += github_version. downloads ;
315+ }
316+ }
286317 }
287318
288319 * key = ExtensionPlatform {
0 commit comments