Files
AWS-Weather/main.py

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