Example #1
0
    def test_one_url(self):
        start = datetime(2015, 2, 28)
        dates = [
            datetime(2015, 2, 28),
        ]

        generated_dates = list(date_generator(start))
        self.assertEqual(generated_dates, dates)
Example #2
0
    def test_crossing_years(self):
        start = datetime(2015, 12, 31)
        end = datetime(2016, 1, 2)
        dates = [
            datetime(2015, 12, 31),
            datetime(2016, 1, 1),
        ]

        generated_dates = list(date_generator(start, end))
        self.assertEqual(generated_dates, dates)
Example #3
0
    def test_starting_from_a_bigger_date(self):
        start = datetime(2015, 12, 31)
        end = datetime(2015, 12, 28)
        dates = [
            datetime(2015, 12, 31),
            datetime(2015, 12, 30),
            datetime(2015, 12, 29),
        ]

        generated_dates = list(date_generator(start, end))
        self.assertEqual(generated_dates, dates)
Example #4
0
    def test_crossing_months(self):
        start = datetime(2015, 1, 30)
        end = datetime(2015, 2, 3)
        dates = [
            datetime(2015, 1, 30),
            datetime(2015, 1, 31),
            datetime(2015, 2, 1),
            datetime(2015, 2, 2),
        ]

        generated_dates = list(date_generator(start, end))
        self.assertEqual(generated_dates, dates)
date = lambda d: datetime.strptime(d, "%Y-%m-%d")

parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--inicio", "-i", type=date, help="Data inicial de captura: yyyy-mm-dd")
parser.add_argument("--fim", "-f", type=date, help="Data final de captura: yyyy-mm-dd")
parser.add_argument("--codigo", "-c", choices=codes, metavar='ICAO', help="Codigo da estação" )
args = parser.parse_args()

station, start, end = args.codigo, args.inicio, args.fim
data = []
i = 0

stations = codes if station == 'all' else [station]
for station in stations:
    if station == 'all':
        continue
    for date in date_generator(start, end):
        if not check_day(date, station):
            print("Date {} has already been captured from station {} ".format(date, station))
            continue
        print("Fetching data from {} at {}.".format(station, date))
        res = capture(station, date)
        print(res)
        data.append(res)
        if i % 10 == 0:
            save(data, schema='Municipio', table='Clima_wu')
            data = []
        time.sleep(1)

save(data, schema='Municipio', table='Clima_wu')
Example #6
0
                    type=date,
                    help="Data final de captura: yyyy-mm-dd")
parser.add_argument("--codigo",
                    "-c",
                    choices=codes,
                    metavar='ICAO',
                    help="Codigo da estação")
args = parser.parse_args()

station, start, end = args.codigo, args.inicio, args.fim
data = []
i = 0

stations = codes if station == 'all' else [station]
for station in stations:
    for date in date_generator(start, end):
        if not check_day(date, station):
            print("Date {} has already been captured from station {} ".format(
                date, station))
            continue
        print("Fetching data from {} at {}.".format(station, date))
        res = capture(station, date)
        print(res)
        data.append(res)
        if i % 10 == 0:
            save(data, schema='Municipio', table='Clima_wu')
            data = []
        time.sleep(1)

save(data, schema='Municipio', table='Clima_wu')