QChris has uploaded a new change for review.
https://gerrit.wikimedia.org/r/182963
Change subject: Fix ISO week numbering
......................................................................
Fix ISO week numbering
The logic to generate week numbers in the monitoring and fixture
generation was wrong. Instead of doing the right computation manually,
we offload the the system to give the proper ISO week numbers.
Change-Id: Ia55c6bcf1186a23fe78ad6c7bc6251dda35bf472
---
M aggregator/projectcounts.py
M tests/test_projectcounts/test_monitoring.py
M tests/test_projectcounts/test_weekly_aggregation.py
3 files changed, 38 insertions(+), 38 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/analytics/aggregator
refs/changes/63/182963/1
diff --git a/aggregator/projectcounts.py b/aggregator/projectcounts.py
index b0b2481..565ddca 100644
--- a/aggregator/projectcounts.py
+++ b/aggregator/projectcounts.py
@@ -279,7 +279,7 @@
for date in util.generate_dates(first_date, last_date):
if date.weekday() == 6: # Sunday. End of ISO week
- date_str = date.strftime('%YW%W')
+ date_str = date.strftime('%GW%V')
logging.debug("Updating csv '%s' for date '%s'" % (
dbname, str(date)))
week_dates = set(date + datetime.timedelta(days=offset)
@@ -705,7 +705,7 @@
issues.extend(_get_validity_issues_for_aggregated_projectcounts_generic(
os.path.join(data_dir_abs, 'weekly_rescaled'),
10000000, 10000000, 100000, 1000,
- set((date - datetime.timedelta(days=6)).strftime('%YW%W')
+ set((date - datetime.timedelta(days=6)).strftime('%GW%V')
for date in current_dates)
))
diff --git a/tests/test_projectcounts/test_monitoring.py
b/tests/test_projectcounts/test_monitoring.py
index 897c8b6..7c26506 100644
--- a/tests/test_projectcounts/test_monitoring.py
+++ b/tests/test_projectcounts/test_monitoring.py
@@ -49,7 +49,7 @@
for day_offset in range(-30, 0):
date = (today + datetime.timedelta(days=day_offset))
if date.weekday() == 6:
- date_str = date.strftime('%YW%W')
+ date_str = date.strftime('%GW%V')
yield date_str
def get_relevant_monthly_date_strs(self):
diff --git a/tests/test_projectcounts/test_weekly_aggregation.py
b/tests/test_projectcounts/test_weekly_aggregation.py
index c0d2d55..693dbf2 100644
--- a/tests/test_projectcounts/test_weekly_aggregation.py
+++ b/tests/test_projectcounts/test_weekly_aggregation.py
@@ -51,15 +51,15 @@
first_date, last_date)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W26,28000000,28000,28,7',
+ '2014W27,28000000,28000,28,7',
])
def test_weekly_csv_existing_csv_existing_week(self):
enwiki_file_abs = os.path.join(self.weekly_dir_abs, 'enwiki.csv')
self.create_file(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,4,5,6,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,4,5,6,7',
+ '2014W28,8,9,10,11',
])
first_date = datetime.date(2014, 7, 1)
@@ -81,17 +81,17 @@
first_date, last_date)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,4,5,6,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,4,5,6,7',
+ '2014W28,8,9,10,11',
])
def test_weekly_csv_existing_csv_existing_week_force(self):
enwiki_file_abs = os.path.join(self.weekly_dir_abs, 'enwiki.csv')
self.create_file(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,4,5,6,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,4,5,6,7',
+ '2014W28,8,9,10,11',
])
first_date = datetime.date(2014, 7, 1)
@@ -114,17 +114,17 @@
force_recomputation=True)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,28000000,28000,28,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,28000000,28000,28,7',
+ '2014W28,8,9,10,11',
])
def test_weekly_csv_existing_csv_bad_dates_existing_week(self):
enwiki_file_abs = os.path.join(self.weekly_dir_abs, 'enwiki.csv')
self.create_file(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,4,5,6,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,4,5,6,7',
+ '2014W28,8,9,10,11',
])
first_date = datetime.date(2014, 7, 1)
@@ -150,17 +150,17 @@
first_date, last_date, bad_dates)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,26600000,26600,26,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,26600000,26600,26,7',
+ '2014W28,8,9,10,11',
])
def test_weekly_csv_existing_csv_bad_sunday(self):
enwiki_file_abs = os.path.join(self.weekly_dir_abs, 'enwiki.csv')
self.create_file(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,4,5,6,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,4,5,6,7',
+ '2014W28,8,9,10,11',
])
first_date = datetime.date(2014, 7, 1)
@@ -187,16 +187,16 @@
first_date, last_date, bad_dates)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,21000000,21000,21,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,21000000,21000,21,7',
+ '2014W28,8,9,10,11',
])
def test_weekly_csv_existing_csv_only_bad_dates_no_existing_data(self):
enwiki_file_abs = os.path.join(self.weekly_dir_abs, 'enwiki.csv')
self.create_file(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W28,8,9,10,11',
])
first_date = datetime.date(2014, 7, 1)
@@ -227,16 +227,16 @@
first_date, last_date, bad_dates)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W28,8,9,10,11',
])
def test_weekly_csv_existing_csv_only_bad_dates_existing_data(self):
enwiki_file_abs = os.path.join(self.weekly_dir_abs, 'enwiki.csv')
self.create_file(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W26,4,5,6,7',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W27,4,5,6,7',
+ '2014W28,8,9,10,11',
])
first_date = datetime.date(2014, 7, 1)
@@ -267,8 +267,8 @@
first_date, last_date, bad_dates)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W25,1,2,3,4',
- '2014W27,8,9,10,11',
+ '2014W26,1,2,3,4',
+ '2014W28,8,9,10,11',
])
def test_weekly_csv_zero_and_missing_data(self):
@@ -293,5 +293,5 @@
first_date, last_date)
self.assert_file_content_equals(enwiki_file_abs, [
- '2014W26,28000000,26000,29,7',
+ '2014W27,28000000,26000,29,7',
])
--
To view, visit https://gerrit.wikimedia.org/r/182963
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia55c6bcf1186a23fe78ad6c7bc6251dda35bf472
Gerrit-PatchSet: 1
Gerrit-Project: analytics/aggregator
Gerrit-Branch: master
Gerrit-Owner: QChris <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits