Initial code to get the weather data from the API

This commit is contained in:
hadoop
2024-02-18 15:38:00 +01:00
committed by Jacob Fritsche
parent d2aa04d98f
commit c385d5d257

723
main.py Normal file
View File

@@ -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()