Skip to content

Commit 80d23b5

Browse files
authored
Cleanup leftover popularity-related methods and names. (#8481)
1 parent b38cc78 commit 80d23b5

File tree

11 files changed

+57
-61
lines changed

11 files changed

+57
-61
lines changed

app/lib/fake/backend/fake_download_counts.dart

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,38 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'dart:io';
6+
import 'dart:math' as math;
67

8+
import 'package:clock/clock.dart';
79
import 'package:gcloud/storage.dart';
10+
import 'package:pub_dev/package/models.dart';
11+
import 'package:pub_dev/service/download_counts/backend.dart';
812
import 'package:pub_dev/service/download_counts/computations.dart';
913
import 'package:pub_dev/shared/configuration.dart';
14+
import 'package:pub_dev/shared/datastore.dart';
1015
import 'package:pub_dev/shared/storage.dart';
1116
import 'package:pub_dev/shared/utils.dart';
1217

13-
Future<void> generateFakeDownloadCounts(
18+
/// Scans the datastore for packages and generates download count values with a
19+
/// deterministic random seed.
20+
///
21+
/// TODO: generate download counts in bucket first
22+
Future<void> generateFakeDownloadCountsInDatastore() async {
23+
final query = dbService.query<Package>();
24+
await for (final p in query.run()) {
25+
final r = math.Random(p.name.hashCode.abs());
26+
final count = (math.min(p.likes * p.likes, 50) + r.nextInt(50));
27+
await downloadCountsBackend.updateDownloadCounts(
28+
p.name!,
29+
{
30+
p.latestVersion!: count,
31+
},
32+
clock.now(),
33+
);
34+
}
35+
}
36+
37+
Future<void> uploadFakeDownloadCountsToBucket(
1438
String downloadCountsFileName, String dataFilePath) async {
1539
final file = File(dataFilePath).readAsBytesSync();
1640
await storageService

app/lib/fake/backend/fake_popularity.dart

Lines changed: 0 additions & 28 deletions
This file was deleted.

app/lib/fake/server/fake_analyzer_service.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'package:fake_gcloud/mem_storage.dart';
1010
import 'package:gcloud/service_scope.dart' as ss;
1111
import 'package:logging/logging.dart';
1212
import 'package:pub_dev/analyzer/handlers.dart';
13-
import 'package:pub_dev/fake/backend/fake_popularity.dart';
13+
import 'package:pub_dev/fake/backend/fake_download_counts.dart';
1414
import 'package:pub_dev/service/services.dart';
1515
import 'package:pub_dev/shared/configuration.dart';
1616
import 'package:pub_dev/shared/handler_helpers.dart';
@@ -38,7 +38,7 @@ class FakeAnalyzerService {
3838
storage: _storage,
3939
cloudCompute: _cloudCompute,
4040
fn: () async {
41-
await generateFakeDownloadCounts();
41+
await generateFakeDownloadCountsInDatastore();
4242

4343
final handler = wrapHandler(_logger, analyzerServiceHandler);
4444
final server = await IOServer.bind('localhost', port);

app/lib/fake/server/fake_default_service.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import 'package:fake_gcloud/mem_datastore.dart';
88
import 'package:fake_gcloud/mem_storage.dart';
99
import 'package:gcloud/service_scope.dart' as ss;
1010
import 'package:logging/logging.dart';
11-
import 'package:pub_dev/fake/backend/fake_popularity.dart';
11+
import 'package:pub_dev/fake/backend/fake_download_counts.dart';
1212
import 'package:pub_dev/fake/backend/fake_topics.dart';
1313
import 'package:pub_dev/frontend/handlers.dart';
1414
import 'package:pub_dev/package/name_tracker.dart';
@@ -48,7 +48,7 @@ class FakePubServer {
4848
await watchForResourceChanges();
4949
}
5050

51-
await generateFakeDownloadCounts();
51+
await generateFakeDownloadCountsInDatastore();
5252
await generateFakeTopicValues();
5353
await nameTracker.startTracking();
5454

app/lib/fake/server/fake_search_service.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import 'package:fake_gcloud/mem_datastore.dart';
99
import 'package:fake_gcloud/mem_storage.dart';
1010
import 'package:gcloud/service_scope.dart' as ss;
1111
import 'package:logging/logging.dart';
12-
import 'package:pub_dev/fake/backend/fake_popularity.dart';
12+
import 'package:pub_dev/fake/backend/fake_download_counts.dart';
1313
import 'package:pub_dev/search/handlers.dart';
1414
import 'package:pub_dev/search/updater.dart';
1515
import 'package:pub_dev/service/services.dart';
@@ -54,7 +54,7 @@ class FakeSearchService {
5454
});
5555
_logger.info('running on port $port');
5656

57-
await generateFakeDownloadCounts();
57+
await generateFakeDownloadCountsInDatastore();
5858
// ignore: invalid_use_of_visible_for_testing_member
5959
await indexUpdater.updateAllPackages();
6060

app/lib/frontend/templates/views/landing/page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ d.Node landingPageNode({
4646
info: d
4747
.text('Some of the most downloaded packages over the past 60 days'),
4848
content: miniListNode('most-popular', mostPopularPackages!),
49-
viewAllUrl: urls.listingByPopularity(),
49+
viewAllUrl: urls.listingByDownloadCounts(),
5050
viewAllEvent: 'landing-most-popular-view-all',
5151
viewAllTitle: 'Search popular packages',
5252
),

app/lib/search/mem_index.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,9 +313,9 @@ class InMemoryPackageIndex {
313313
_adjustedOverallScores = _documents.map((doc) {
314314
final downloadScore = doc.downloadScore ?? 0.0;
315315
final likeScore = doc.likeScore ?? 0.0;
316-
final popularity = (downloadScore + likeScore) / 2;
316+
final combinedScore = (downloadScore + likeScore) / 2;
317317
final points = doc.grantedPoints / math.max(1, doc.maxPoints);
318-
final overall = popularity * 0.5 + points * 0.5;
318+
final overall = combinedScore * 0.5 + points * 0.5;
319319
doc.overallScore = overall;
320320
// adding a base score prevents later multiplication with zero
321321
return 0.4 + 0.6 * overall;

app/lib/search/models.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class SearchSnapshot {
3333
}
3434

3535
/// Updates the [PackageDocument] instance's scores for each package in the snapshot.
36-
/// Sets `downloadScore`, `likeScore` and `popularityScore` fields, normalized into the
36+
/// Sets `downloadScore` and `likeScore` fields, normalized into the
3737
/// range of [0.0 - 1.0] using the ordered list of their specific counts.
3838
void updateAllScores() {
3939
/// Updates the PackageDocument.downloadScore for each package in the snapshot.

app/lib/shared/urls.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ String searchUrl({
199199
return SearchForm(query: q).toSearchLink(page: page);
200200
}
201201

202-
String listingByPopularity() =>
202+
String listingByDownloadCounts() =>
203203
SearchForm(order: SearchOrder.downloads).toSearchLink();
204204

205205
String dartSdkMainUrl(String version) {

app/test/service/download_counts/download_counts_test.dart

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ void main() {
5151
final date = DateTime.parse('2024-01-05');
5252
final downloadCountsJsonFileName =
5353
'daily_download_counts/2024-01-05T00:00:00Z/data-000000000000.jsonl';
54-
await generateFakeDownloadCounts(
54+
await uploadFakeDownloadCountsToBucket(
5555
downloadCountsJsonFileName,
5656
path.join(Directory.current.path, 'test', 'service',
5757
'download_counts', 'fake_download_counts_data.jsonl'));
@@ -72,7 +72,7 @@ void main() {
7272
final date = DateTime.parse('2024-01-05');
7373
final downloadCountsJsonFileNameJan5 =
7474
'daily_download_counts/2024-01-05T00:00:00Z/data-000000000000.jsonl';
75-
await generateFakeDownloadCounts(
75+
await uploadFakeDownloadCountsToBucket(
7676
downloadCountsJsonFileNameJan5,
7777
path.join(Directory.current.path, 'test', 'service',
7878
'download_counts', 'fake_download_counts_data.jsonl'));
@@ -81,7 +81,7 @@ void main() {
8181
final nextDate = DateTime.parse('2024-01-06');
8282
final downloadCountsJsonFileNameJan6 =
8383
'daily_download_counts/2024-01-06T00:00:00Z/data-000000000000.jsonl';
84-
await generateFakeDownloadCounts(
84+
await uploadFakeDownloadCountsToBucket(
8585
downloadCountsJsonFileNameJan6,
8686
path.join(
8787
Directory.current.path,
@@ -113,7 +113,7 @@ void main() {
113113
final nextDate = DateTime.parse('2024-01-06');
114114
final downloadCountsJsonFileNameJan6 =
115115
'daily_download_counts/2024-01-06T00:00:00Z/data-000000000000.jsonl';
116-
await generateFakeDownloadCounts(
116+
await uploadFakeDownloadCountsToBucket(
117117
downloadCountsJsonFileNameJan6,
118118
path.join(
119119
Directory.current.path,
@@ -150,7 +150,7 @@ void main() {
150150
final nextDate = DateTime.parse('2024-01-06');
151151
final downloadCountsJsonFileNameJan6 =
152152
'daily_download_counts/2024-01-06T00:00:00Z/data-000000000000.jsonl';
153-
await generateFakeDownloadCounts(
153+
await uploadFakeDownloadCountsToBucket(
154154
downloadCountsJsonFileNameJan6,
155155
path.join(
156156
Directory.current.path,
@@ -202,7 +202,7 @@ void main() {
202202
final nextDate = DateTime.parse('2024-01-06');
203203
final downloadCountsJsonFileNameJan6 =
204204
'daily_download_counts/2024-01-06T00:00:00Z/data-000000000000.jsonl';
205-
await generateFakeDownloadCounts(
205+
await uploadFakeDownloadCountsToBucket(
206206
downloadCountsJsonFileNameJan6,
207207
path.join(Directory.current.path, 'test', 'service',
208208
'download_counts', 'fake_download_counts_data_empty.jsonl'));
@@ -234,7 +234,7 @@ void main() {
234234
formatDateForFileName(date),
235235
'data-000000000000.jsonl',
236236
].join('/');
237-
await generateFakeDownloadCounts(
237+
await uploadFakeDownloadCountsToBucket(
238238
fileName,
239239
path.join(Directory.current.path, 'test', 'service',
240240
'download_counts', 'fake_download_counts_data.jsonl'),
@@ -268,7 +268,7 @@ void main() {
268268
formatDateForFileName(date),
269269
'data-000000000000.jsonl',
270270
].join('/');
271-
await generateFakeDownloadCounts(
271+
await uploadFakeDownloadCountsToBucket(
272272
fileName,
273273
path.join(Directory.current.path, 'test', 'service',
274274
'download_counts', 'fake_download_counts_data.jsonl'),
@@ -302,7 +302,7 @@ void main() {
302302
formatDateForFileName(date),
303303
'data-000000000000.jsonl',
304304
].join('/');
305-
await generateFakeDownloadCounts(
305+
await uploadFakeDownloadCountsToBucket(
306306
fileName,
307307
path.join(Directory.current.path, 'test', 'service',
308308
'download_counts', 'fake_download_counts_data.jsonl'),
@@ -356,7 +356,7 @@ void main() {
356356
formatDateForFileName(date),
357357
'data-000000000000.jsonl',
358358
].join('/');
359-
await generateFakeDownloadCounts(
359+
await uploadFakeDownloadCountsToBucket(
360360
fileName,
361361
path.join(Directory.current.path, 'test', 'service',
362362
'download_counts', 'fake_download_counts_data.jsonl'),
@@ -422,13 +422,13 @@ void main() {
422422
'data-000000000001.jsonl',
423423
].join('/');
424424

425-
await generateFakeDownloadCounts(
425+
await uploadFakeDownloadCountsToBucket(
426426
fileName,
427427
path.join(Directory.current.path, 'test', 'service',
428428
'download_counts', 'fake_download_counts_data.jsonl'),
429429
);
430430

431-
await generateFakeDownloadCounts(
431+
await uploadFakeDownloadCountsToBucket(
432432
fileName1,
433433
path.join(Directory.current.path, 'test', 'service',
434434
'download_counts', 'fake_download_counts_data1.jsonl'),
@@ -486,13 +486,13 @@ void main() {
486486
'data-000000000001.jsonl',
487487
].join('/');
488488

489-
await generateFakeDownloadCounts(
489+
await uploadFakeDownloadCountsToBucket(
490490
fileName,
491491
path.join(Directory.current.path, 'test', 'service', 'download_counts',
492492
'fake_download_counts_data.jsonl'),
493493
);
494494

495-
await generateFakeDownloadCounts(
495+
await uploadFakeDownloadCountsToBucket(
496496
fileName1,
497497
path.join(Directory.current.path, 'test', 'service', 'download_counts',
498498
'fake_download_counts_data_empty.jsonl'),
@@ -555,13 +555,13 @@ void main() {
555555
'data-000000000001.jsonl',
556556
].join('/');
557557

558-
await generateFakeDownloadCounts(
558+
await uploadFakeDownloadCountsToBucket(
559559
fileName,
560560
path.join(Directory.current.path, 'test', 'service', 'download_counts',
561561
'fake_download_counts_data.jsonl'),
562562
);
563563

564-
await generateFakeDownloadCounts(
564+
await uploadFakeDownloadCountsToBucket(
565565
fileName1,
566566
path.join(Directory.current.path, 'test', 'service', 'download_counts',
567567
'fake_download_counts_data1.jsonl'),
@@ -579,13 +579,13 @@ void main() {
579579
'data-000000000001.jsonl',
580580
].join('/');
581581

582-
await generateFakeDownloadCounts(
582+
await uploadFakeDownloadCountsToBucket(
583583
fileName2,
584584
path.join(Directory.current.path, 'test', 'service', 'download_counts',
585585
'fake_download_counts_data_empty.jsonl'),
586586
);
587587

588-
await generateFakeDownloadCounts(
588+
await uploadFakeDownloadCountsToBucket(
589589
fileName3,
590590
path.join(Directory.current.path, 'test', 'service', 'download_counts',
591591
'fake_download_counts_data_empty.jsonl'),

0 commit comments

Comments
 (0)