Beispiel #1
0
    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)
Beispiel #2
0
    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)