Skip to content
This repository was archived by the owner on Oct 21, 2025. It is now read-only.

Commit 2be0859

Browse files
committed
aggregate version download counts
1 parent b672dff commit 2be0859

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

src/schedules/prices.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)