728 lines
15 KiB
Python
728 lines
15 KiB
Python
import src.wheaterAPI as wapi
|
|
import time
|
|
from datetime import datetime
|
|
from datetime import timedelta
|
|
import logging
|
|
|
|
def main():
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
max_forecast = 3
|
|
bucket_name = 'bucket weather_data_2024'
|
|
folder_current = 'current_test'
|
|
folder_forecast = 'forecast_test'
|
|
wheather_api_current = wapi.WheatherAPI(bucket_name, folder_current)
|
|
wheater_api_forecast = wapi.WheatherAPI(bucket_name, folder_forecast)
|
|
last_datetime = (datetime.now() + timedelta(hours=-1)).strftime('%Y-%m-%d-%H')
|
|
next_run = datetime.today().strftime('%Y-%m-%d')
|
|
hour_of_forecast_run = datetime.now().strftime('%H')
|
|
logging.info('The max_forecast variable has the value: ' + str(max_forecast))
|
|
logging.info('The last_datetime variable has the value: ' + last_datetime)
|
|
logging.info('The next_run variable has the value: ' + next_run)
|
|
|
|
location_list = [
|
|
"Tokyo",
|
|
"Delhi",
|
|
"Shanghai",
|
|
"Sao Paulo",
|
|
"Mumbai",
|
|
"Mexico City",
|
|
"Beijing",
|
|
"Osaka",
|
|
"Cairo",
|
|
"New York",
|
|
"Dhaka",
|
|
"Karachi",
|
|
"Buenos Aires",
|
|
"Chongqing",
|
|
"Istanbul",
|
|
"Kolkata",
|
|
"Manila",
|
|
"Rio de Janeiro",
|
|
"Tianjin",
|
|
"Jakarta",
|
|
"Lahore",
|
|
"Bangalore",
|
|
"Chennai",
|
|
"Lima",
|
|
"Bangkok",
|
|
"New York City",
|
|
"Hyderabad",
|
|
"Chengdu",
|
|
"Nanjing",
|
|
"Wuhan",
|
|
"Ho Chi Minh City",
|
|
"Hangzhou",
|
|
"Shenzhen",
|
|
"Pune",
|
|
"Johannesburg",
|
|
"Riyadh",
|
|
"Ahmedabad",
|
|
"Singapore",
|
|
"Santiago",
|
|
"Alexandria",
|
|
"Kabul",
|
|
"Casablanca",
|
|
"Melbourne",
|
|
"Ankara",
|
|
"Sydney",
|
|
"Monterrey",
|
|
"Addis Ababa",
|
|
"Nairobi",
|
|
"Dubai",
|
|
"Medellin",
|
|
"Los Angeles",
|
|
"Calcutta",
|
|
"Kuwait City",
|
|
"Dakar",
|
|
"Toronto",
|
|
"Vancouver",
|
|
"Chicago",
|
|
"Guayaquil",
|
|
"Hong Kong",
|
|
"Belo Horizonte",
|
|
"Tashkent",
|
|
"Bogota",
|
|
"Havana",
|
|
"Kampala",
|
|
"Lisbon",
|
|
"Houston",
|
|
"Rome",
|
|
"Accra",
|
|
"Rabat",
|
|
"Kigali",
|
|
"Harare",
|
|
"Madrid",
|
|
"Kathmandu",
|
|
"Abuja",
|
|
"Dharamshala",
|
|
"Boston",
|
|
"Birmingham",
|
|
"Miami",
|
|
"Seattle",
|
|
"San Francisco",
|
|
"Denver",
|
|
"Dublin",
|
|
"Manchester",
|
|
"Leeds",
|
|
"Liverpool",
|
|
"Glasgow",
|
|
"Edinburgh",
|
|
"Cardiff",
|
|
"Belfast",
|
|
"Newcastle",
|
|
"Sheffield",
|
|
"Bradford",
|
|
"Bristol",
|
|
"Nottingham",
|
|
"Southampton",
|
|
"Leicester",
|
|
"Aberdeen",
|
|
"Plymouth",
|
|
"Wolverhampton",
|
|
"Swansea",
|
|
"Derby",
|
|
"York",
|
|
"Oxford",
|
|
"Cambridge",
|
|
"Preston",
|
|
"Lancaster",
|
|
"Canterbury",
|
|
"Exeter",
|
|
"Chester",
|
|
"Brighton",
|
|
"Portsmouth",
|
|
"Carlisle",
|
|
"Durham",
|
|
"Norwich",
|
|
"Swindon",
|
|
"Ipswich",
|
|
"Sunderland",
|
|
"Peterborough",
|
|
"Lincoln",
|
|
"Blackpool",
|
|
"Newport",
|
|
"Hull",
|
|
"Bournemouth",
|
|
"Perth",
|
|
"Adelaide",
|
|
"Hobart",
|
|
"Canberra",
|
|
"Darwin",
|
|
"Cairns",
|
|
"Toowoomba",
|
|
"Ballarat",
|
|
"Bendigo",
|
|
"Albury",
|
|
"Launceston",
|
|
"Newcastle",
|
|
"Wollongong",
|
|
"Geelong",
|
|
"Townsville",
|
|
"Rockhampton",
|
|
"Bunbury",
|
|
"Coffs Harbour",
|
|
"Alice Springs",
|
|
"Tamworth",
|
|
"Palmerston",
|
|
"Wagga Wagga",
|
|
"Hervey Bay",
|
|
"Dubbo",
|
|
"Nowra",
|
|
"Bathurst",
|
|
"Warrnambool",
|
|
"Lismore",
|
|
"Kalgoorlie",
|
|
"Gladstone",
|
|
"Mandurah",
|
|
"Port Macquarie",
|
|
"Queanbeyan",
|
|
"Orange",
|
|
"Bundaberg",
|
|
"Mildura",
|
|
"Sunbury",
|
|
"Geraldton",
|
|
"Taree",
|
|
"Ballina",
|
|
"Goulburn",
|
|
"Wangaratta",
|
|
"Warragul",
|
|
"Nelson Bay",
|
|
"Mount Gambier",
|
|
"Armidale",
|
|
"Mount Isa",
|
|
"Caboolture",
|
|
"Grafton",
|
|
"Yeppoon",
|
|
"Morayfield",
|
|
"Port Stephens",
|
|
"Albany",
|
|
"Maryborough",
|
|
"Burnie",
|
|
"Emerald",
|
|
"Victor Harbor",
|
|
"Traralgon",
|
|
"Gawler",
|
|
"Leeton",
|
|
"Griffith",
|
|
"Kingston",
|
|
"Port Hedland",
|
|
"Port Pirie",
|
|
"Wonthaggi",
|
|
"Sale",
|
|
"Lithgow",
|
|
"Singleton",
|
|
"Horsham",
|
|
"Port Augusta",
|
|
"Swan Hill",
|
|
"Tom Price",
|
|
"Broken Hill",
|
|
"Muswellbrook",
|
|
"Parkes",
|
|
"Gunnedah",
|
|
"Narrabri",
|
|
"Moree",
|
|
"Dublin",
|
|
"Cork",
|
|
"Limerick",
|
|
"Galway",
|
|
"Waterford",
|
|
"Drogheda",
|
|
"Dundalk",
|
|
"Swords",
|
|
"Bray",
|
|
"Navan",
|
|
"Kilkenny",
|
|
"Ennis",
|
|
"Carlow",
|
|
"Tralee",
|
|
"Newbridge",
|
|
"Portlaoise",
|
|
"Balbriggan",
|
|
"Naas",
|
|
"Athlone",
|
|
"Mullingar",
|
|
"Celbridge",
|
|
"Wexford",
|
|
"Letterkenny",
|
|
"Sligo",
|
|
"Clonmel",
|
|
"Greystones",
|
|
"Malahide",
|
|
"Leixlip",
|
|
"Carrigaline",
|
|
"New Ross",
|
|
"Dungarvan",
|
|
"Portmarnock",
|
|
"Ashbourne",
|
|
"Longford",
|
|
"Skerries",
|
|
"Youghal",
|
|
"Tramore",
|
|
"Tullamore",
|
|
"Killarney",
|
|
"Arklow",
|
|
"Maynooth",
|
|
"Cobh",
|
|
"Castlebar",
|
|
"Midleton",
|
|
"Mallow",
|
|
"Ballina",
|
|
"Enniscorthy",
|
|
"Wicklow",
|
|
"Tramore",
|
|
"Cavan",
|
|
"Athenry",
|
|
"Buncrana",
|
|
"Clane",
|
|
"Nenagh",
|
|
"Trim",
|
|
"Thurles",
|
|
"Youghal",
|
|
"Dunboyne",
|
|
"Carrick-on-Suir",
|
|
"Kells",
|
|
"Roscrea",
|
|
"Portarlington",
|
|
"Banbridge",
|
|
"Muineachan",
|
|
"Bangor",
|
|
"Enniskillen",
|
|
"Lisburn",
|
|
"Newtownabbey",
|
|
"Ballymena",
|
|
"Newry",
|
|
"Carrickfergus",
|
|
"Coleraine",
|
|
"Antrim",
|
|
"Omagh",
|
|
"Larne",
|
|
"Banbridge",
|
|
"Armagh",
|
|
"Strabane",
|
|
"Limavady",
|
|
"Dungannon",
|
|
"Cookstown",
|
|
"Downpatrick",
|
|
"Ballymoney",
|
|
"Comber",
|
|
"Newtownards",
|
|
"Ballyclare",
|
|
"Magherafelt",
|
|
"Portstewart",
|
|
"Newcastle",
|
|
"Warrenpoint",
|
|
"Carryduff",
|
|
"Donaghadee",
|
|
"Portrush",
|
|
"Kilkeel",
|
|
"Dromore",
|
|
"Keady",
|
|
"Ballynahinch",
|
|
"Bushmills",
|
|
"Castlewellan",
|
|
"Randalstown",
|
|
"Moira",
|
|
"Holywood",
|
|
"Eglinton",
|
|
"Hillsborough",
|
|
"Greenisland",
|
|
"Ballycastle",
|
|
"Crumlin",
|
|
"Dungiven",
|
|
"Portaferry",
|
|
"Millisle",
|
|
"Whitehead",
|
|
"Killyleagh",
|
|
"Crossgar",
|
|
"Tandragee",
|
|
"Greyabbey",
|
|
"Cushendall",
|
|
"Richhill",
|
|
"Markethill",
|
|
"Portavogie",
|
|
"Bessbrook",
|
|
"Newtownstewart",
|
|
"Draperstown",
|
|
"Dunloy",
|
|
"Moneymore",
|
|
"Strangford",
|
|
"Portballintrae",
|
|
"Maghera",
|
|
"Castlederg",
|
|
"Londonderry",
|
|
"Magheralin",
|
|
"Ballywalter",
|
|
"Rathfriland",
|
|
"Glenavy",
|
|
"Whitehouse",
|
|
"Templepatrick",
|
|
"Dundrum",
|
|
"Aghalee",
|
|
"Donemana",
|
|
"Kircubbin",
|
|
"Toome",
|
|
"Ballyronan",
|
|
"Portadown",
|
|
"Saintfield",
|
|
"Ahoghill",
|
|
"Garvagh",
|
|
"Broughshane",
|
|
"Kilrea",
|
|
"Pomeroy",
|
|
"Doagh",
|
|
"Dunmurry",
|
|
"Comber",
|
|
"Castlerock",
|
|
"Bellaghy",
|
|
"Bready",
|
|
"Gilford",
|
|
"Moy",
|
|
"Dungiven",
|
|
"Cloughey",
|
|
"Ballykelly",
|
|
"Aghadowey",
|
|
"Ederney",
|
|
"Caledon",
|
|
"Clogher",
|
|
"Drumquin",
|
|
"Ardglass",
|
|
"Waringstown",
|
|
"Kinallen",
|
|
"Clady",
|
|
"Killybegs",
|
|
"Loughgall",
|
|
"Tynan",
|
|
"Burren",
|
|
"Mullaghbawn",
|
|
"Belleek",
|
|
"Scarva",
|
|
"Rostrevor",
|
|
"Hilltown",
|
|
"Ballyward",
|
|
"Drumahoe",
|
|
"Loughbrickland",
|
|
"Annalong",
|
|
"Castlecaulfield",
|
|
"Newbuildings",
|
|
"Springfield",
|
|
"Ballygawley",
|
|
"Sion Mills",
|
|
"Gilnahirk",
|
|
"Ballyhalbert",
|
|
"Crossnacreevy",
|
|
"Dundonald",
|
|
"Millisle",
|
|
"Crawfordsburn",
|
|
"Ballymacarrett",
|
|
"Kilroot",
|
|
"Hanoi",
|
|
"Oslo",
|
|
"Prague",
|
|
"Helsinki",
|
|
"Edmonton",
|
|
"San Juan",
|
|
"Anchorage",
|
|
"Kabul",
|
|
"Algiers",
|
|
"Andorra la Vella",
|
|
"Luanda",
|
|
"Saint John's",
|
|
"Buenos Aires",
|
|
"Yerevan",
|
|
"Oranjestad",
|
|
"Canberra",
|
|
"Vienna",
|
|
"Baku",
|
|
"Nassau",
|
|
"Manama",
|
|
"Dhaka",
|
|
"Bridgetown",
|
|
"Minsk",
|
|
"Brussels",
|
|
"Belmopan",
|
|
"Thimphu",
|
|
"Sarajevo",
|
|
"Gaborone",
|
|
"Brasilia",
|
|
"Bandar Seri Begawan",
|
|
"Sofia",
|
|
"Ouagadougou",
|
|
"Bujumbura",
|
|
"Praia",
|
|
"Yaounde",
|
|
"Ottawa",
|
|
"Santiago",
|
|
"Beijing",
|
|
"Bogota",
|
|
"Moroni",
|
|
"Kinshasa",
|
|
"San Jose",
|
|
"Yamoussoukro",
|
|
"Zagreb",
|
|
"Havana",
|
|
"Nicosia",
|
|
"Prague",
|
|
"Copenhagen",
|
|
"Djibouti",
|
|
"Roseau",
|
|
"Santo Domingo",
|
|
"Quito",
|
|
"Cairo",
|
|
"San Salvador",
|
|
"Malabo",
|
|
"Asmara",
|
|
"Tallinn",
|
|
"Mbabane",
|
|
"Addis Ababa",
|
|
"Suva",
|
|
"Helsinki",
|
|
"Paris",
|
|
"Libreville",
|
|
"Banjul",
|
|
"Tbilisi",
|
|
"Berlin",
|
|
"Accra",
|
|
"Athens",
|
|
"Saint George's",
|
|
"Guatemala City",
|
|
"Conakry",
|
|
"Bissau",
|
|
"Georgetown",
|
|
"Tegucigalpa",
|
|
"Budapest",
|
|
"Reykjavik",
|
|
"New Delhi",
|
|
"Jakarta",
|
|
"Tehran",
|
|
"Baghdad",
|
|
"Dublin",
|
|
"Jerusalem",
|
|
"Rome",
|
|
"Kingston",
|
|
"Tokyo",
|
|
"Amman",
|
|
"Nur-Sultan",
|
|
"Nairobi",
|
|
"Tarawa Atoll",
|
|
"Pristina",
|
|
"Kuwait City",
|
|
"Bishkek",
|
|
"Vientiane",
|
|
"Riga",
|
|
"Beirut",
|
|
"Maseru",
|
|
"Monrovia",
|
|
"Tripoli",
|
|
"Vaduz",
|
|
"Vilnius",
|
|
"Luxembourg",
|
|
"Antananarivo",
|
|
"Lilongwe",
|
|
"Kuala Lumpur",
|
|
"Male",
|
|
"Bamako",
|
|
"Valletta",
|
|
"Majuro",
|
|
"Nouakchott",
|
|
"Port Louis",
|
|
"Mexico City",
|
|
"Palikir",
|
|
"Chisinau",
|
|
"Monaco",
|
|
"Ulaanbaatar",
|
|
"Podgorica",
|
|
"Rabat",
|
|
"Maputo",
|
|
"Windhoek",
|
|
"Kathmandu",
|
|
"Amsterdam",
|
|
"Wellington",
|
|
"Managua",
|
|
"Niamey",
|
|
"Abuja",
|
|
"Pyongyang",
|
|
"Skopje",
|
|
"Oslo",
|
|
"Muscat",
|
|
"Islamabad",
|
|
"Ngerulmud",
|
|
"Jerusalem",
|
|
"Asuncion",
|
|
"Lima",
|
|
"Manila",
|
|
"Warsaw",
|
|
"Lisbon",
|
|
"Doha",
|
|
"Bucharest",
|
|
"Moscow",
|
|
"Kigali",
|
|
"Basseterre",
|
|
"Castries",
|
|
"Kingstown",
|
|
"Apia",
|
|
"San Marino",
|
|
"Sao Tome",
|
|
"Riyadh",
|
|
"Dakar",
|
|
"Belgrade",
|
|
"Victoria",
|
|
"Freetown",
|
|
"Singapore",
|
|
"Bratislava",
|
|
"Ljubljana",
|
|
"Honiara",
|
|
"Mogadishu",
|
|
"Pretoria",
|
|
"Seoul",
|
|
"Juba",
|
|
"Madrid",
|
|
"Colombo",
|
|
"Khartoum",
|
|
"Paramaribo",
|
|
"Stockholm",
|
|
"Bern",
|
|
"Damascus",
|
|
"Taipei",
|
|
"Dushanbe",
|
|
"Dodoma",
|
|
"Bangkok",
|
|
"Lome",
|
|
"Port-of-Spain",
|
|
"Tunis",
|
|
"Ankara",
|
|
"Ashgabat",
|
|
"Funafuti",
|
|
"Kampala",
|
|
"Kiev",
|
|
"Abu Dhabi",
|
|
"London",
|
|
"Montevideo",
|
|
"Tashkent",
|
|
"Port Vila",
|
|
"Vatican City",
|
|
"Caracas",
|
|
"Hanoi",
|
|
"Sanaa",
|
|
"Lusaka",
|
|
"Harare",
|
|
"Aachen",
|
|
"Augsburg",
|
|
"Bergisch Gladbach",
|
|
"Bielefeld",
|
|
"Bochum",
|
|
"Bonn",
|
|
"Bottrop",
|
|
"Braunschweig",
|
|
"Bremerhaven",
|
|
"Chemnitz",
|
|
"Cottbus",
|
|
"Darmstadt",
|
|
"Duisburg",
|
|
"Erfurt",
|
|
"Erlangen",
|
|
"Essen",
|
|
"Freiburg",
|
|
"Fürth",
|
|
"Gelsenkirchen",
|
|
"Göttingen",
|
|
"Hagen",
|
|
"Halle",
|
|
"Hameln",
|
|
"Hamm",
|
|
"Heidelberg",
|
|
"Heilbronn",
|
|
"Herne",
|
|
"Hildesheim",
|
|
"Ingolstadt",
|
|
"Iserlohn",
|
|
"Jena",
|
|
"Kaiserslautern",
|
|
"Karlsruhe",
|
|
"Kassel",
|
|
"Kiel",
|
|
"Koblenz",
|
|
"Krefeld",
|
|
"Leverkusen",
|
|
"Lübeck",
|
|
"Ludwigshafen",
|
|
"Magdeburg",
|
|
"Mainz",
|
|
"Mannheim",
|
|
"Marl",
|
|
"Moers",
|
|
"Mönchengladbach",
|
|
"Mülheim",
|
|
"Münster",
|
|
"Neuss",
|
|
"Nürnberg",
|
|
"Oberhausen",
|
|
"Offenbach",
|
|
"Oldenburg",
|
|
"Osnabrück",
|
|
"Paderborn",
|
|
"Pforzheim",
|
|
"Potsdam",
|
|
"Recklinghausen",
|
|
"Regensburg",
|
|
"Remscheid",
|
|
"Reutlingen",
|
|
"Rostock",
|
|
"Saarbrücken",
|
|
"Salzgitter",
|
|
"Schwerin",
|
|
"Siegen",
|
|
"Solingen",
|
|
"Stuttgart",
|
|
"Trier",
|
|
"Ulm",
|
|
"Wiesbaden",
|
|
"Wilhelmshaven",
|
|
"Wolfsburg",
|
|
"Würzburg",
|
|
"Zwickau",
|
|
"Flensburg",
|
|
"Gera",
|
|
"Gütersloh",
|
|
"Düren",
|
|
"Bayreuth",
|
|
"Aalen",
|
|
"Bergheim",
|
|
"Böblingen",
|
|
"Celle",
|
|
"Cuxhaven",
|
|
"Detmold",
|
|
"Dinslaken",
|
|
"Dormagen",
|
|
"Dorsten",
|
|
"Fulda",
|
|
"Göppingen",
|
|
"Hanau",
|
|
"Heidenheim",
|
|
"Herford",
|
|
"Kerpen",
|
|
"Landshut",
|
|
"Marburg",
|
|
"Neubrandenburg",
|
|
"Neumünster",
|
|
"Ravensburg",
|
|
"Rosenheim",
|
|
"Schwäbisch Gmünd",
|
|
"Siegburg",
|
|
"Troisdorf",
|
|
"Weimar"
|
|
]
|
|
logging.info('List of cities loaded.')
|
|
|
|
while True:
|
|
last_datetime = wheather_api_current.call_current_wheater(last_datetime, location_list)
|
|
next_run = wheater_api_forecast.call_forecast_wheather(next_run, hour_of_forecast_run, location_list, max_forecast)
|
|
logging.info('current timestamp: ' + datetime.now().strftime('%Y-%m-%d-%H'))
|
|
logging.info('The last_datetime variable has the value: ' + last_datetime)
|
|
logging.info('The next_run variable has the value: ' + next_run)
|
|
time.sleep(1800)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|