[Checkins] SVN: keas.googlemap/trunk/ Fix error with non-latin geocode queries.

Dan Korostelev nadako at gmail.com
Sat Nov 1 17:36:07 EDT 2008


Log message for revision 92748:
  Fix error with non-latin geocode queries.

Changed:
  U   keas.googlemap/trunk/CHANGES.txt
  U   keas.googlemap/trunk/src/keas/googlemap/README.txt
  U   keas.googlemap/trunk/src/keas/googlemap/geocode.py

-=-
Modified: keas.googlemap/trunk/CHANGES.txt
===================================================================
--- keas.googlemap/trunk/CHANGES.txt	2008-11-01 19:51:58 UTC (rev 92747)
+++ keas.googlemap/trunk/CHANGES.txt	2008-11-01 21:36:06 UTC (rev 92748)
@@ -5,6 +5,8 @@
 Version 0.5.1 (unreleased)
 --------------------------
 
+- Bug: Fix error with non-lating geocode queries. 
+
 - Feature: You can now do::
 
     <script

Modified: keas.googlemap/trunk/src/keas/googlemap/README.txt
===================================================================
--- keas.googlemap/trunk/src/keas/googlemap/README.txt	2008-11-01 19:51:58 UTC (rev 92747)
+++ keas.googlemap/trunk/src/keas/googlemap/README.txt	2008-11-01 21:36:06 UTC (rev 92748)
@@ -61,6 +61,17 @@
   >>> geo
   Geocode(33.944066, -118.408294)
 
+We can also use non-latin letters for queries, let's try to query
+Saint-Petersburg, Russia in Russian
+
+  >>> geoQuery = geocode.GeocodeQuery(u'\u0420\u043e\u0441\u0441\u0438\u044f, \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433')
+  >>> try:
+  ...     geo = interfaces.IGeocode(geoQuery)
+  ... except IOError, e:
+  ...     geo = geocode.Geocode(59.939039, 30.315785)
+  >>> geo 
+  Geocode(59.939039, 30.315785)
+
 Managing Google Map API Keys
 ----------------------------
 

Modified: keas.googlemap/trunk/src/keas/googlemap/geocode.py
===================================================================
--- keas.googlemap/trunk/src/keas/googlemap/geocode.py	2008-11-01 19:51:58 UTC (rev 92747)
+++ keas.googlemap/trunk/src/keas/googlemap/geocode.py	2008-11-01 21:36:06 UTC (rev 92748)
@@ -79,7 +79,7 @@
 def getGeocodeFromQuery(geoQuery):
     dict = { 'key'    : apikey.LocalhostAPIKey.key,
              'output' : 'json',
-             'q'      : geoQuery.query }
+             'q'      : geoQuery.query.encode('utf-8') }
     url = GEOCODE_BASE + '?' + urllib.urlencode(dict)
     info = json.decode(urllib.urlopen(url).read())
     if info['Status']['code'] == 200:



More information about the Checkins mailing list