- base_url = 'http://nominatim.openstreetmap.org/search?%s'
- url = base_url % urllib.urlencode(params)
- resp, content = h.request(url)
- root = etree.fromstring(content)
- place = root.find("place")
- if place is not None:
- print (etree.tostring(root, pretty_print=True))
- self._coord=Coord(place.get("lat"),place.get("lon"))
- return 1
- else:
- print resp
- print content
- return 0
+ addrlist=[]
+ if self.name and len(self.name)>0:
+ addrlist.append(u''+self.name+', '+self.street+', '+self.city)
+ addrlist.append(u''+self.street+', '+self.postcode+', '+self.city)
+ addrlist.append(u''+self.street+', '+self.city)
+
+ for addr in addrlist:
+ params['q'] = addr.encode('utf-8')
+ url = base_url % urlencode(params)
+ time.sleep(1)
+ resp, content = h.request(url)
+ root = etree.fromstring(content)
+ places = int(root.xpath('count(//place[@place_id])'))
+ if places == 1:
+ place = root.find("place")
+ self.coord=Coord(place.get("lat"),place.get("lon"))
+ return
+ sys.stderr.write(u'FAILURE: Did not find:\n')
+ sys.stderr.write(addrlist[0].encode('utf-8'))
+ sys.stderr.write(url)
+
+ def add_phone(self, phone):
+ self.phone = phone
+
+ def set_name(self, name):
+ self.name = name