示例#1
0
    def add_journeys_from_request(self, data):
        operating_day = parse_date(
            self.request.GET['operatingday']
        ) if 'operatingday' in self.request.GET else get_operator_date()
        data['operator_date'] = operating_day

        journey_errors = 0
        journeys = []
        for journey in self.request.GET['journey'].split(','):
            if journey == "":
                continue
            log.info("Finding journey %s for '%s'" %
                     (journey, self.request.user))
            j = Kv1Journey.find_from_realtime(
                self.request.user.userprofile.company, journey)
            if j:
                journeys.append(j)
            else:
                journey_errors += 1
                log.error("User '%s' (%s) failed to find journey '%s' " %
                          (self.request.user,
                           self.request.user.userprofile.company, journey))
        data['journeys'] = journeys
        if journey_errors > 0:
            data['journey_errors'] = journey_errors
示例#2
0
    def handle(self, *args, **options):
        with open(options['filename'][0], 'rb') as csvfile:
            reader = csv.reader(csvfile, delimiter=',')
            first = True
            to_send = []
            to_send_trips = []
            for row in reader:
                if first:
                    first = False
                else:
                    dataowner, lineplanningnumber, journeynumber = row[0].split(':')
                    if self.last_row_date != row[1]:
                        split = row[1].split('-')
                        self.date = date(int(split[0]), int(split[1]), int(split[2]))
                    trips = Kv1Journey.find_from_realtime(dataowner, row[0], date=self.date)
                    if trips is None:
                        self.stdout.write("Not found: %s on %s " % (row[0], row[1]))
                    else:
                        res = self.cancel_trip(trips, self.date)
                        if res is not None:
                            to_send.append(res)
                            to_send_trips.append(row[0])
                    if len(to_send) > 0 and len(to_send) % self.BATCH_SIZE == 0:
                        to_send, to_send_trips = self.send(to_send, to_send_trips)

                    self.last_row_date = row[1]
            if len(to_send) > 0:
                self.send(to_send, to_send_trips)
示例#3
0
    def handle(self, *args, **options):
        with open(options['filename'][0], 'rb') as csvfile:
            reader = csv.reader(csvfile, delimiter=',')
            first = True
            to_send = []
            to_send_trips = []
            for row in reader:
                if first:
                    first = False
                else:
                    dataowner, lineplanningnumber, journeynumber = row[
                        0].split(':')
                    if self.last_row_date != row[1]:
                        split = row[1].split('-')
                        self.date = date(int(split[0]), int(split[1]),
                                         int(split[2]))
                    trips = Kv1Journey.find_from_realtime(dataowner,
                                                          row[0],
                                                          date=self.date)
                    if trips is None:
                        self.stdout.write("Not found: %s on %s " %
                                          (row[0], row[1]))
                    else:
                        res = self.cancel_trip(trips, self.date)
                        if res is not None:
                            to_send.append(res)
                            to_send_trips.append(row[0])
                    if len(to_send
                           ) > 0 and len(to_send) % self.BATCH_SIZE == 0:
                        to_send, to_send_trips = self.send(
                            to_send, to_send_trips)

                    self.last_row_date = row[1]
            if len(to_send) > 0:
                self.send(to_send, to_send_trips)
示例#4
0
    def add_journeys_from_request(self, data):
        journey_errors = 0
        journeys = []
        for journey in self.request.GET['journey'].split(','):
            if journey == "":
                continue

            j = Kv1Journey.find_from_realtime(self.request.user.userprofile.company, journey)
            if j:
                journeys.append(j)
            else:
                journey_errors += 1
                log.error("User '%s' (%s) failed to find journey '%s' " % (self.request.user, self.request.user.userprofile.company, journey))
        data['journeys'] = journeys
        if journey_errors > 0:
            data['journey_errors'] = journey_errors
    def handle(self, *args, **options):
        with open(options['filename'][0], 'rb') as csvfile:
            reader = csv.reader(csvfile, delimiter=',')
            first = True
            to_send = []
            to_send_trips = []

            for row in reader:
                if first:
                    first = False
                else:
                    dataowner, lineplanningnumber, journeynumber = row[
                        0].split(':')
                    if self.last_row_date != row[1]:
                        split = row[1].split('-')
                        self.date = date(int(split[0]), int(split[1]),
                                         int(split[2]))
                    trip = Kv1Journey.find_from_realtime(dataowner,
                                                         row[0],
                                                         date=self.date)
                    if trip is None:
                        self.stdout.write("Not found: %s on %s " %
                                          (row[0], row[1]))
                    else:
                        cancelled = Kv17Change(
                            dataownercode=trip.dataownercode,
                            operatingday=self.date,
                            line=trip.line,
                            journey=trip)
                        cancelled.save()
                        cancelled.delete()
                        to_send.append(cancelled.to_xml())
                        to_send_trips.append(row[0])
                        print("Restored: %s:%s:%s on %s" %
                              (cancelled.dataownercode,
                               cancelled.line.lineplanningnumber,
                               cancelled.journey.journeynumber,
                               cancelled.operatingday))

                    if len(to_send
                           ) > 0 and len(to_send) % self.BATCH_SIZE == 0:
                        to_send, to_send_trips = self.send(
                            to_send, to_send_trips)

            if len(to_send) > 0:
                to_send, to_send_trips = self.send(to_send, to_send_trips)