From c385d5d2575092272c258d03a89f9039cb2b4755 Mon Sep 17 00:00:00 2001 From: hadoop Date: Sun, 18 Feb 2024 15:38:00 +0100 Subject: [PATCH] Initial code to get the weather data from the API --- main.py | 723 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 723 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..7b87c74 --- /dev/null +++ b/main.py @@ -0,0 +1,723 @@ +import src.wheaterAPI as wapi +import time +from datetime import datetime +import logging + +def main(): + logging.basicConfig(level=logging.INFO) + + wheather_api_current = wapi.WheatherAPI() + wheater_api_forecast = wapi.WheatherAPI() + max_forecast = 3 + last_datetime = datetime.now().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()