Fix an issue with locale parsing dates.
authorIvo Wetzel <ivo.wetzel@googlemail.com>
Fri, 12 Mar 2010 22:28:54 +0000 (16:28 -0600)
committerJoshua Roesslein <jroesslein@gmail.com>
Fri, 12 Mar 2010 22:35:29 +0000 (16:35 -0600)
Fixes issue #13

tweepy/utils.py

index 56970454b1eb367368fde2b268b232eed8793a71..404bd861653646cdbb186f8373be1395b9bae20c 100644 (file)
@@ -6,12 +6,19 @@ from datetime import datetime
 import time
 import htmlentitydefs
 import re
+import locale
 
 
-def parse_datetime(str):
+def parse_datetime(string):
+    # Set locale for date parsing
+    locale.setlocale(locale.LC_TIME, 'C')
 
     # We must parse datetime this way to work in python 2.4
-    return datetime(*(time.strptime(str, '%a %b %d %H:%M:%S +0000 %Y')[0:6]))
+    date = datetime(*(time.strptime(string, '%a %b %d %H:%M:%S +0000 %Y')[0:6]))
+
+    # Reset locale back to the default setting
+    locale.setlocale(locale.LC_TIME, '')
+    return date
 
 
 def parse_html_value(html):
@@ -26,10 +33,16 @@ def parse_a_href(atag):
     return atag[start:end]
 
 
-def parse_search_datetime(str):
+def parse_search_datetime(string):
+    # Set locale for date parsing
+    locale.setlocale(locale.LC_TIME, 'C')
+
+    # We must parse datetime this way to work in python 2.4
+    date = datetime(*(time.strptime(string, '%a, %d %b %Y %H:%M:%S +0000')[0:6]))
 
-    # python 2.4
-    return datetime(*(time.strptime(str, '%a, %d %b %Y %H:%M:%S +0000')[0:6]))
+    # Reset locale back to the default setting
+    locale.setlocale(locale.LC_TIME, '')
+    return date
 
 
 def unescape_html(text):