def get_destination(self):
		destination_address = self.clean_data['destination_address']

		if GoogleMaps.is_valid_address(destination_address):
			return Location.get_by_address(destination_address, create=True)
		else:
			return None
	def clean_destination_address(self):
		destination_address = self.clean_data['destination_address']

		if not GoogleMaps.is_valid_address(destination_address):
			raise forms.ValidationError("Please enter a valid address.")

		return destination_address
	def get_source(self):
		source_address = self.clean_data['source_address']

		if GoogleMaps.is_valid_address(source_address):
			return Location.get_by_address(source_address, create=True)
		else:
			return None
	def clean_source_address(self):
		source_address = self.clean_data['source_address']

		if not GoogleMaps.is_valid_address(source_address):
			raise forms.ValidationError("Please enter a valid address.")

		return source_address
Exemple #5
0
	def clean_destination_address(self):
		destination_address = self.clean_data['destination_address']

		if not GoogleMaps.is_valid_address(destination_address):
			raise forms.ValidationError("Google Maps was not able to locate your 'To' address.")

		return destination_address
Exemple #6
0
	def clean_source_address(self):
		source_address = self.clean_data['source_address']

		if not GoogleMaps.is_valid_address(source_address):
			raise forms.ValidationError("Google Maps was not able to locate your 'From' address.")

		return source_address
	def post(self):
		# --------------------------------------------------------------------
		# Retrive Session Info and GET Data
		# --------------------------------------------------------------------
		# Request Values
		current_value = self.get_request_parameter('current_value', converter=str, default=None)

		# --------------------------------------------------------------------
		# Validate Request
		# --------------------------------------------------------------------
		if current_value is None:
			self.error(400)
			return
			
		# strip any numbers from the front of the test

		# --------------------------------------------------------------------
		# Generate and Store Template Values
		# --------------------------------------------------------------------
		template_values = super(LocationCompleterRequestHandler, self
			).generate_template_values(self.request.url)
		
		
		fetch_url = WISES_FETCH_URL + '?address=' + urllib.quote_plus(current_value) 
		
		closest_locations = []
		
		try:
			content = urlfetch.fetch(fetch_url).content
			query_content = simplejson.loads(content)
			
			if "results" in query_content:
				results = query_content['results']
				closest_locations = map(lambda x: x['full_address'], results)
				closest_locations = filter(lambda x: GoogleMaps.is_valid_address(x), closest_locations)
			
		except:
			self.error(500)
			return
		
		template_values['closest_locations'] = closest_locations

		# --------------------------------------------------------------------
		# Render and Serve Template
		# --------------------------------------------------------------------
		page_path = os.path.join(os.path.dirname(__file__), "location-completer.html")
		self.response.out.write(template.render(page_path, template_values))