def user_geo(country_name="me"): if country_name == "me": code = geocoder.ip(country_name).country country = CountryInfo(code) else: country = CountryInfo(country_name) code = country.iso(2) capital = country.capital() name = country.name().capitalize() currency = country.currencies() return [code, name, capital, currency]
def country_info(country_name): d = [] country = CountryInfo(country_name) d.append(["name", country.name().capitalize()]) d.append(["capital", country.capital().capitalize()]) d.append(["region", country.region().capitalize()]) d.append(["currency", country.currencies()]) d.append(["area", country.area()]) d.append(["population", country.population()]) d.append(["languages", country.languages()]) d.append(["borders", country.borders()]) d.append(["calling code", country.calling_codes()]) d.append(["lat/long", country.capital_latlng()]) d.append(["code", country.iso(2)]) return d
def main(): try: start_date = date(2020, 3, 1) end_date = date(2020, 10, 2) delta = timedelta(days=1) while start_date <= end_date: day = start_date.strftime("%Y-%m-%d") print ("Downloading " + day) url = "https://api.covid19tracking.narrativa.com/api/" + day r = requests.get(url) data = r.json() start_date += delta for day in data['dates']: for country in data['dates'][day]['countries']: try: country_info = CountryInfo(country) country_iso_3 = country_info.iso(3) population = country_info.population() except Exception as e: print("Error with " + country) country_iso_3 = country population = None infection_rate=0 print(e) if population != None: try: infection_rate=getInfectionRate(data['dates'][day]['countries'][country]['today_confirmed'], population) except: infection_rate=0 result_data = data['dates'][day]['countries'][country] del result_data['regions'] result_data['timestamp'] = result_data.pop('date') result_data.update( timestamp=datetime.strptime(day, "%Y-%m-%d"), country_iso_3=country_iso_3, population=population, infection_rate=infection_rate, ) save_elasticsearch_es('covid-19-live-global',result_data) except Exception as e: print(e)
def get_country_code_from_country(country): result = CountryInfo(country) return result.iso(2).lower()