Milimetric has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/136429

Change subject: Fix datetime parsing problem
......................................................................

Fix datetime parsing problem

Change-Id: Id6a0ff5680211329ec9456af20f04e8c01b872ff
---
A tests/test_metrics/test_form_fields.py
M wikimetrics/metrics/form_fields.py
2 files changed, 23 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics 
refs/changes/29/136429/1

diff --git a/tests/test_metrics/test_form_fields.py 
b/tests/test_metrics/test_form_fields.py
new file mode 100644
index 0000000..3db1556
--- /dev/null
+++ b/tests/test_metrics/test_form_fields.py
@@ -0,0 +1,20 @@
+from datetime import datetime, date
+from unittest import TestCase
+from nose.tools import assert_equals
+
+from wikimetrics.metrics import NamespaceEdits
+from wikimetrics.utils import to_datetime
+
+
+class BetterDateTimeFieldTest(TestCase):
+    def test_time_is_included(self):
+        now = datetime.now()
+        form = NamespaceEdits(start_date=now)
+
+        assert_equals(form.start_date.data, now)
+
+    def test_time_is_excluded(self):
+        today = date.today()
+        form = NamespaceEdits(start_date=today)
+
+        assert_equals(form.start_date.data, to_datetime(today))
diff --git a/wikimetrics/metrics/form_fields.py 
b/wikimetrics/metrics/form_fields.py
index e38a385..5d34954 100644
--- a/wikimetrics/metrics/form_fields.py
+++ b/wikimetrics/metrics/form_fields.py
@@ -65,12 +65,12 @@
         if not value:
             self.report_invalid()
         
-        if isinstance(value, date):
-            value = datetime.combine(value, time())
-        
         if isinstance(value, datetime):
             return value
         
+        if isinstance(value, date):
+            return datetime.combine(value, time())
+        
         try:
             return datetime.strptime(value, self.format)
         except ValueError:

-- 
To view, visit https://gerrit.wikimedia.org/r/136429
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id6a0ff5680211329ec9456af20f04e8c01b872ff
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: Milimetric <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to