Пример #1
0
    def on_line_change(self):
        self.ui.comboBox_calle.clear()

        if self.ui.comboBox_linea.currentText():
            self.ui.statusbar.showMessage(u'Consultando el listado de calles. Espere, por favor...')
            str_streets = ETR.get_line_streets(str(self.ui.comboBox_linea.currentText()))
            self.ui.comboBox_calle.addItem('', -1)

            for street in Util.generate_streets_list(str_streets)[0]:
                self.ui.comboBox_calle.addItem(street['desc'], street['id'])

            self.ui.statusbar.showMessage(u'Seleccione una calle')
Пример #2
0
    def on_street_change(self):
        self.ui.comboBox_interseccion.clear()

        if self.ui.comboBox_calle.currentText():
            self.ui.statusbar.showMessage(u'Consultando el listado de intersecciones. Espere, por favor...')
            line = self.ui.comboBox_linea.currentText()
            street = self.ui.comboBox_calle.itemData(self.ui.comboBox_calle.currentIndex()).toInt()[0]

            str_intersections = ETR.get_line_intersections(line, street)

            self.ui.comboBox_interseccion.addItem('')

            for intersection in Util.generate_streets_list(str_intersections)[0]:
                self.ui.comboBox_interseccion.addItem(intersection['desc'], intersection['id'])

            self.ui.statusbar.showMessage(u'Seleccione una intersección')
Пример #3
0
    def interactive_mode_wizard():
        print 'Consulta \'¿Cuándo llega?\' del ETR - Asistente de consulta interactiva.\n'

        lines_list, lines = ETR.list_lines()
        print lines_list,

        line = raw_input("Línea: ")

        if not line:
            print 'Debe ingresar una línea para poder continuar.'
            sys.exit()

        line = line.upper()

        if line not in lines:
            print 'La línea ingresada no es válida.'
            sys.exit()

        print '\nRecuperando las calles para la línea seleccionada. Espere, por favor...'

        str_streets = ETR.get_line_streets(line)

        if str_streets == 'error':
            print 'Error al obtener el listado de calles para la línea ingresada.'
            sys.exit()
        else:
            if str_streets:
                try:
                    streets, streets_list = Util.generate_streets_list(str_streets)
                    print streets_list
                except Exception:
                    print 'Error al obtener el listado de calles. Inténtenlo nuevamente.'
                    sys.exit()
            else:
                print 'No se encontraron calles para la línea ingresada.'
                sys.exit()

        street = raw_input("Calle: ")

        if not street:
            print 'Debe seleccionar una calle para poder continuar.'
            sys.exit()
        else:
            try:
                street = int(street) - 1
            except Exception:
                print 'El valor ingresado no tiene un formato válido.'
                sys.exit()

            if street > len(streets) - 1:
                print 'El valor ingresado no corresponde a una calle válida.'
                sys.exit()

            print '\nRecuperando las intersecciones para la calle seleccionada. Espere, por favor...'

            str_intersections = ETR.get_line_intersections(line, int(streets[int(street)]['id']))

            if str_intersections:
                try:
                    intersections, intersections_list = Util.generate_streets_list(str_intersections)
                except Exception:
                    print 'Error al obtener el listado de intersecciones. Inténtenlo nuevamente.'
                    sys.exit()

                print intersections_list
            else:
                print 'No se encontraron intersecciones para la calle ingresada.'
                sys.exit()

        intersection = raw_input("Intersección: ")

        if not intersection:
            print 'Debe seleccionar una intersección para poder continuar.'
            sys.exit()
        else:
            try:
                intersection = int(intersection) - 1
            except Exception:
                print 'El valor ingresado no tiene un formato válido.'
                sys.exit()

            if intersection > len(intersections) - 1:
                print 'El valor ingresado no corresponde a una intersección válida.'
                sys.exit()

            print '\nRecuperando las paradas para la línea ingresada. Espere, por favor...\n'

            str_stops = ETR.get_line_stops(line, int(streets[int(street)]['id']), int(intersections[int(intersection)]['id']))
            stops_count = 0

            if str_stops:
                elements = re.findall(r'<td[^>]*?>(.+)<\/td>', str_stops)

                for index, element in enumerate(elements):
                    value = re.sub(r'<[^>]*?>', '', element)
                    print value,

                    if (index + 1) % 2 == 0:
                        print '\n',
                    else:
                        stops_count += 1
                        stop_code = value
                        print '-',

                print '\n',
            else:
                print 'No se encontraron paradas para la línea ingresada.'
                sys.exit()

        if stops_count == 1:
            stop = stop_code
        else:
            stop = raw_input('Parada: ')

        if not stop:
            print 'Debe seleccionar una parada para poder continuar.'
            sys.exit()
        else:
            try:
                stop = int(stop)
            except Exception:
                print 'El valor ingresado no tiene un formato válido.'
                sys.exit()

        print '\n'

        return line, stop