def post(self): args = self.request.arguments() waypoints = [] distances = [] when = datetime.now() daytrip = DayTrip() if self.request.get('trip_key'): trip_key = self.request.get('trip_key') daytrip = db.get(db.Key(trip_key)) else: if users.get_current_user(): daytrip.who = users.get_current_user() daytrip.when = when total_distance = 0 if self.request.get('total_miles'): try: total_distance = float(self.request.get('total_miles')) except: total_distance = 0 daytrip.total_distance = total_distance cpm = 0 if self.request.get('cost_per_mile_pound'): cost_per_mile_pound = int(self.request.get('cost_per_mile_pound')) cpm = cost_per_mile_pound * 100 if self.request.get('cost_per_mile_pence'): cost_per_mile_pence = int(self.request.get('cost_per_mile_pence')) cpm = cpm + cost_per_mile_pence daytrip.pence_per_mile = cpm if self.request.get('label_parking_expenses'): daytrip.other_expenses_label = self.request.get('label_parking_expenses') else: daytrip.other_expenses_label = '' other_expenses = 0 if self.request.get('other_expenses_charges_pound'): other_expenses_charges_pound = int(self.request.get('other_expenses_charges_pound')) other_expenses = other_expenses_charges_pound * 100 if self.request.get('other_expenses_charges_pence'): other_expenses_charges_pence = int(self.request.get('other_expenses_charges_pence')) other_expenses = other_expenses + other_expenses_charges_pence daytrip.other_expenses_charge = other_expenses if self.request.get('mode_of_travel'): daytrip.trip_code = self.request.get('mode_of_travel') else: daytrip.trip_code = '' if self.request.get('other_no_passengers'): try: daytrip.passenger_count = int(self.request.get('other_no_passengers')) except: daytrip.passenger_count = 0 else: daytrip.passenger_count = 0 if self.request.get('other_passenger_miles'): try: daytrip.passenger_mileage = int(self.request.get('other_passenger_miles')) except: daytrip.passenger_mileage = 0 else: daytrip.passenger_mileage = 0 count = 0 for arg in args: argstr = 'input'+str(count) legstr = 'leg'+str(count) #google maps api only allows 10 addresses if count < 10: if self.request.get(argstr): waypoints.append(self.request.get(argstr)) if self.request.get(legstr): try: distance = int(float(self.request.get(legstr)) * 1609.344) except: distance = 0 else: distance = 0 distances.append(distance) count = count+1 if self.request.get('tripdate'): tripdate = datetime.strptime(self.request.get('tripdate'), '%m/%d/%Y') else: tripdate = None if tripdate: daytrip.waypoints = waypoints daytrip.distances = distances daytrip.when = tripdate daytrip.put() notification = '{"app_notification_type": "app_tip", "app_notification": "Trip saved." }' logging.debug(notification) else: notification = '{"app_notification_type": "app_error", "app_notification": "Trip data incomplete. Please ensure a Trip date is set."}' self.response.out.write(notification)
def post(self): args = self.request.arguments() waypoints = [] distances = [] when = datetime.now() daytrip = DayTrip() if self.request.get('trip_key'): trip_key = self.request.get('trip_key') daytrip = db.get(db.Key(trip_key)) else: if users.get_current_user(): daytrip.who = users.get_current_user() daytrip.when = when total_distance = 0 if self.request.get('total_miles'): try: total_distance = float(self.request.get('total_miles')) except: total_distance = 0 daytrip.total_distance = total_distance cpm = 0 if self.request.get('cost_per_mile_pound'): cost_per_mile_pound = int(self.request.get('cost_per_mile_pound')) cpm = cost_per_mile_pound * 100 if self.request.get('cost_per_mile_pence'): cost_per_mile_pence = int(self.request.get('cost_per_mile_pence')) cpm = cpm + cost_per_mile_pence daytrip.pence_per_mile = cpm if self.request.get('label_parking_expenses'): daytrip.other_expenses_label = self.request.get( 'label_parking_expenses') else: daytrip.other_expenses_label = '' other_expenses = 0 if self.request.get('other_expenses_charges_pound'): other_expenses_charges_pound = int( self.request.get('other_expenses_charges_pound')) other_expenses = other_expenses_charges_pound * 100 if self.request.get('other_expenses_charges_pence'): other_expenses_charges_pence = int( self.request.get('other_expenses_charges_pence')) other_expenses = other_expenses + other_expenses_charges_pence daytrip.other_expenses_charge = other_expenses if self.request.get('mode_of_travel'): daytrip.trip_code = self.request.get('mode_of_travel') else: daytrip.trip_code = '' if self.request.get('other_no_passengers'): try: daytrip.passenger_count = int( self.request.get('other_no_passengers')) except: daytrip.passenger_count = 0 else: daytrip.passenger_count = 0 if self.request.get('other_passenger_miles'): try: daytrip.passenger_mileage = int( self.request.get('other_passenger_miles')) except: daytrip.passenger_mileage = 0 else: daytrip.passenger_mileage = 0 count = 0 for arg in args: argstr = 'input' + str(count) legstr = 'leg' + str(count) #google maps api only allows 10 addresses if count < 10: if self.request.get(argstr): waypoints.append(self.request.get(argstr)) if self.request.get(legstr): try: distance = int( float(self.request.get(legstr)) * 1609.344) except: distance = 0 else: distance = 0 distances.append(distance) count = count + 1 if self.request.get('tripdate'): tripdate = datetime.strptime(self.request.get('tripdate'), '%m/%d/%Y') else: tripdate = None if tripdate: daytrip.waypoints = waypoints daytrip.distances = distances daytrip.when = tripdate daytrip.put() notification = '{"app_notification_type": "app_tip", "app_notification": "Trip saved." }' logging.debug(notification) else: notification = '{"app_notification_type": "app_error", "app_notification": "Trip data incomplete. Please ensure a Trip date is set."}' self.response.out.write(notification)