Skip to content

Commit faed3e6

Browse files
dioxwilldurand
authored andcommitted
Compute hotness even if previous week is 0 (#24246)
1 parent 073076f commit faed3e6

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/olympia/addons/tasks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -409,13 +409,13 @@ def update_addon_hotness(averages):
409409
continue
410410

411411
this_week = average['avg_this_week']
412-
previous_week = average['avg_previous_week']
412+
previous_week = max(average['avg_previous_week'], 1)
413413
threshold = (
414414
MINIMUM_ADU_FOR_HOTNESS_THEME
415415
if addon.type == amo.ADDON_STATICTHEME
416416
else MINIMUM_ADU_FOR_HOTNESS_NONTHEME
417417
)
418-
if this_week >= threshold and previous_week > 1:
418+
if this_week >= threshold:
419419
hotness = (this_week - previous_week) / float(previous_week)
420420
else:
421421
hotness = 0

src/olympia/addons/tests/test_cron.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ def setUp(self):
159159
self.awaiting_review = addon_factory(status=amo.STATUS_NOMINATED)
160160
self.deleted_extension = addon_factory()
161161
self.deleted_extension.delete()
162+
self.previously_unknown_extension = addon_factory()
162163

163164
self.frozen_extension = addon_factory()
164165
FrozenAddon.objects.create(addon=self.frozen_extension)
@@ -209,6 +210,10 @@ def test_basic(self, get_averages_mock, flag_high_hotness_mock):
209210
'avg_this_week': 1040,
210211
'avg_previous_week': 1000,
211212
},
213+
self.previously_unknown_extension.guid: {
214+
'avg_this_week': 4815,
215+
'avg_previous_week': 0,
216+
},
212217
}
213218

214219
cron.update_addon_hotness()
@@ -231,6 +236,9 @@ def test_basic(self, get_averages_mock, flag_high_hotness_mock):
231236
assert self.awaiting_review.reload().hotness == 0.049687154950312847
232237
assert self.deleted_extension.reload().hotness == 0.04
233238

239+
# Previously unknown (nothing last week), we still compute hotness.
240+
assert self.previously_unknown_extension.reload().hotness == 4814.0
241+
234242
# Exclude frozen add-ons too.
235243
assert self.frozen_extension.reload().hotness == 0
236244
get_averages_mock.assert_called_once_with(

0 commit comments

Comments
 (0)