Exemplo n.º 1
0
def get_busway_transfers():
    """
    :rtype :list[BuswayTransfer]
    :return:
    """
    busway_transfers_list = []
    try:
        scrapper = scrap("https://en.wikipedia.org/w/index.php?title=TransJakarta_Corridors&oldid=679760031")
        main_content = scrapper.find('div', attrs={'id': 'mw-content-text'})
        tables = main_content.find_all('table', {'class': 'wikitable'})
        filter_set = set()
        for table in tables:
            rows = table.find_all('tr')
            transfer_rows = rows[2:]
            for row in transfer_rows:
                from_busway_station = row_parser(row.find_all('td')[1].getText())
                transfer_set, transfer_map = multi_href_parser(row.find_all('td')[2])
                for transfer_key in transfer_set:
                    to_busway_station = transfer_map[transfer_key][1]
                    # no need to state a transfer between stations with similar name
                    if not from_busway_station == to_busway_station:
                        halt_list = list()
                        halt_list.append(from_busway_station)
                        halt_list.append(to_busway_station)
                        halt_list.sort()
                        filter_set.add((halt_list[0], halt_list[1]))
        for halt_pair in filter_set:
            busway_transfer = BuswayTransfer()
            busway_transfer.from_station = 'Halte ' + halt_pair[0]
            busway_transfer.to_station = 'Halte ' + halt_pair[1]
            busway_transfers_list.append(busway_transfer)
    except Exception, e:
        __logger.error(e)
Exemplo n.º 2
0
 def test_transfer_route_accessor(self):
     busway_transfer = BuswayTransfer()
     busway_transfer.from_station = 'Halte ini'
     busway_transfer.to_station = 'Halte itu'
     busway_transfer_accessor.upset_busway_transfer(busway_transfer)
     post_busway_transfer = busway_transfer_accessor.get_busway_transfer(busway_transfer)
     """ :type post_busway_transfer: BuswayTransfer"""
     self.assertEqual(busway_transfer.from_station, post_busway_transfer.from_station)
     self.assertEqual(busway_transfer.to_station, post_busway_transfer.to_station)
Exemplo n.º 3
0
def get_busway_transfers():
    """
    :rtype :list[BuswayTransfer]
    :return:
    """
    busway_transfers_list = []
    try:
        scrapper = scrap(
            "https://en.wikipedia.org/w/index.php?title=TransJakarta_Corridors&oldid=679760031"
        )
        main_content = scrapper.find('div', attrs={'id': 'mw-content-text'})
        tables = main_content.find_all('table', {'class': 'wikitable'})
        filter_set = set()
        for table in tables:
            rows = table.find_all('tr')
            transfer_rows = rows[2:]
            for row in transfer_rows:
                from_busway_station = row_parser(
                    row.find_all('td')[1].getText())
                transfer_set, transfer_map = multi_href_parser(
                    row.find_all('td')[2])
                for transfer_key in transfer_set:
                    to_busway_station = transfer_map[transfer_key][1]
                    # no need to state a transfer between stations with similar name
                    if not from_busway_station == to_busway_station:
                        halt_list = list()
                        halt_list.append(from_busway_station)
                        halt_list.append(to_busway_station)
                        halt_list.sort()
                        filter_set.add((halt_list[0], halt_list[1]))
        for halt_pair in filter_set:
            busway_transfer = BuswayTransfer()
            busway_transfer.from_station = 'Halte ' + halt_pair[0]
            busway_transfer.to_station = 'Halte ' + halt_pair[1]
            busway_transfers_list.append(busway_transfer)
    except Exception, e:
        __logger.error(e)
Exemplo n.º 4
0
 def to_busway_transfer(self):
     busway_transfer = BuswayTransfer()
     busway_transfer.from_station = self.from_busway_station
     busway_transfer.to_station = self.to_busway_station
     return busway_transfer