Skip to content

Commit

Permalink
Change default date range to 30 days, inclusive
Browse files Browse the repository at this point in the history
Date range is now inclusive (latest-30 = 30 days, not 31)

Remove some duplication in the code

Minimize download size of list of supported projects
  • Loading branch information
MusikAnimal committed Sep 18, 2023
1 parent eb14423 commit 787fe43
Show file tree
Hide file tree
Showing 30 changed files with 68 additions and 78 deletions.
1 change: 0 additions & 1 deletion javascripts/langviews/config.js
Expand Up @@ -35,7 +35,6 @@ const config = {
}
},
defaults: {
dateRange: 'latest-20',
sort: 'views',
direction: 1,
outputData: [],
Expand Down
2 changes: 0 additions & 2 deletions javascripts/massviews/config.js
Expand Up @@ -5,8 +5,6 @@
*/
const config = {
defaults: {
dateRange: 'latest-20',
project: 'en.wikipedia.org',
sort: 'views',
source: 'category',
sourceProject: '',
Expand Down
1 change: 0 additions & 1 deletion javascripts/mediaviews/config.js
Expand Up @@ -8,7 +8,6 @@ const templates = require('./templates');
const config = {
chartLegend: templates.chartLegend,
defaults: {
dateRange: 'latest-20',
referer: 'all-referers',
project: 'commons.wikimedia.org'
},
Expand Down
4 changes: 1 addition & 3 deletions javascripts/metaviews/config.js
Expand Up @@ -5,9 +5,7 @@
*/
const config = {
chartLegend: $.noop,
defaults: {
dateRange: 'latest-20'
},
defaults: {},
maxDate: moment().utc(), // overrides maxDate in pv_config.js
select2Input: '.aqs-select2-selector',
validateParams: ['tools'],
Expand Down
4 changes: 1 addition & 3 deletions javascripts/pageviews/config.js
Expand Up @@ -7,9 +7,7 @@ const templates = require('./templates');
*/
const config = {
chartLegend: templates.chartLegend,
defaults: {
dateRange: 'latest-20'
},
defaults: {},
templates,
validateParams: ['project', 'platform', 'agent']
};
Expand Down
2 changes: 1 addition & 1 deletion javascripts/pageviews/pageviews.js
Expand Up @@ -18,7 +18,7 @@ class PageViews extends mix(Pv).with(ChartHelpers) {
super(config);
this.app = 'pageviews';

this.entityInfo = false; /** let's us know if we've gotten the page info from API yet */
this.entityInfo = false; /** lets us know if we've gotten the page info from API yet */
this.specialRange = null;
this.initialQuery = false;
this.sort = 'views';
Expand Down
1 change: 0 additions & 1 deletion javascripts/redirectviews/config.js
Expand Up @@ -9,7 +9,6 @@ const config = {
(${scope.formatNumber(Math.round(scope.outputData.average))}/${$.i18n('day')})`;
},
defaults: {
dateRange: 'latest-20',
sort: 'views',
direction: 1,
outputData: [],
Expand Down
6 changes: 3 additions & 3 deletions javascripts/shared/pv.js
Expand Up @@ -389,7 +389,7 @@ class Pv extends PvConfig {
* @return {String} database name
*/
dbName(project) {
return this.siteMap[`${project.replace(/\.org$/,'')}.org`];
return this.siteMap[project.replace(/\.org$/,'')];
}

/**
Expand Down Expand Up @@ -1209,7 +1209,7 @@ class Pv extends PvConfig {
let startDate, endDate, offset;

if (type.includes('latest-')) {
offset = parseInt(type.replace('latest-', ''), 10) || 20; // fallback of 20
offset = parseInt(type.replace('latest-', ''), 10) || this.config.daysAgo;
[startDate, endDate] = this.config.specialRanges.latest(offset);
} else if (rangeIndex >= 0) {
/** treat 'latest' as a function */
Expand Down Expand Up @@ -1619,7 +1619,7 @@ class Pv extends PvConfig {
$.i18n('invalid-lang-project', `<a href='https://${project.escape()}'>${project.escape()}</a>`)
);
project = projectInput.dataset.value;
} else if (!!this.siteMap[project]) {
} else if (!!this.siteMap[project.replace(/\.org$/, '')]) {
this.updateInterAppLinks();
valid = true;
} else {
Expand Down
7 changes: 4 additions & 3 deletions javascripts/shared/pv_config.js
Expand Up @@ -189,7 +189,8 @@ class PvConfig {
rememberChart: 'false',
agent: 'user',
platform: 'all-access',
project: 'en.wikipedia.org'
project: 'en.wikipedia.org',
dateRange: 'latest-30',
},
globalChartOpts: {
animation: {
Expand All @@ -214,7 +215,7 @@ class PvConfig {
},
legendCallback: chart => this.config.chartLegend(chart.data.datasets, self)
},
daysAgo: 20,
daysAgo: 30,
minDate: moment('2015-07-01').startOf('day'),
minDatePagecounts: moment('2007-12-09').startOf('day'),
maxDate,
Expand All @@ -232,7 +233,7 @@ class PvConfig {
'all-time': [moment('2015-07-01').startOf('day'), maxDate],
latest(offset = self.config.daysAgo) {
const target = self.isPagecounts() ? maxDatePagecounts : maxDate;
return [moment(target).subtract(offset, 'days').startOf('day'), target];
return [moment(target).subtract(offset - 1, 'days').startOf('day'), target];
}
},
timestampFormat: 'YYYYMMDD00',
Expand Down
1 change: 0 additions & 1 deletion javascripts/siteviews/config.js
Expand Up @@ -8,7 +8,6 @@ const templates = require('./templates');
const config = {
chartLegend: templates.chartLegend,
defaults: {
dateRange: 'latest-20',
projects: ['fr.wikipedia.org', 'de.wikipedia.org'],
source: 'pageviews'
},
Expand Down
1 change: 0 additions & 1 deletion javascripts/userviews/config.js
Expand Up @@ -35,7 +35,6 @@ const config = {
}
},
defaults: {
dateRange: 'latest-20',
sort: 'views',
direction: 1,
redirects: 0,
Expand Down

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/langviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-f47767145f.css",
"application.js": "application-4606beee40.js"
"application.js": "application-1b696df0cf.js"
}

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/massviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-7286d337f9.css",
"application.js": "application-c1943ae862.js"
"application.js": "application-f7ec4415d1.js"
}

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/mediaviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-3bf1ec0560.css",
"application.js": "application-c0ae30116b.js"
"application.js": "application-0ab5491513.js"
}

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/metaviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-f5bdd697bb.css",
"application.js": "application-ce6c9f583b.js"
"application.js": "application-ab2fb917a7.js"
}

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/pageviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-3dcd6fb5f1.css",
"application.js": "application-e07a779543.js"
"application.js": "application-b24d140364.js"
}
4 changes: 2 additions & 2 deletions public_html/projects.php
@@ -1,4 +1,4 @@
F<?php
<?php

require_once __DIR__ . '/../config.php';

Expand Down Expand Up @@ -44,7 +44,7 @@
$client->close();
$projectsWithDbNames = [];
foreach ( $rows as $row ) {
$domain = preg_replace( '/^https:\/\//', '', $row['url'] );
$domain = preg_replace( '/^https:\/\/(.*)\.org/', '\1', $row['url'] );
$projectsWithDbNames[$domain] = $row['dbname'];
}

Expand Down

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/redirectviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-fdf1362408.css",
"application.js": "application-5e4d3652a2.js"
"application.js": "application-1197aeb07c.js"
}

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/siteviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-2601eddf2d.css",
"application.js": "application-15dc49903d.js"
"application.js": "application-d58ef6a2e0.js"
}

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/topviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-bb96688189.css",
"application.js": "application-385cb1675d.js"
"application.js": "application-64ccd4a74b.js"
}

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public_html/userviews/rev-manifest.json
@@ -1,4 +1,4 @@
{
"application.css": "application-2a788cbc1b.css",
"application.js": "application-6251139051.js"
"application.js": "application-eeb3593743.js"
}

0 comments on commit 787fe43

Please sign in to comment.