diff --git a/web_programming/get_top_billionaires.py b/web_programming/get_top_billionaires.py index 703b635eef82..d30de63305cf 100644 --- a/web_programming/get_top_billionaires.py +++ b/web_programming/get_top_billionaires.py @@ -3,7 +3,8 @@ This works for some of us but fails for others. """ -from datetime import UTC, date, datetime +import doctest +from datetime import date, datetime, timezone import requests from rich import box @@ -11,7 +12,7 @@ from rich import table as rich_table LIMIT = 10 -TODAY = datetime.now(tz=UTC) +TODAY = datetime.now(tz=timezone.utc) # noqa: UP017 API_URL = ( "https://www.forbes.com/forbesapi/person/rtb/0/position/true.json" "?fields=personName,gender,source,countryOfCitizenship,birthDate,finalWorth" @@ -44,7 +45,7 @@ def years_old(birth_timestamp: int, today: date | None = None) -> int: True """ today = today or TODAY.date() - birth_date = datetime.fromtimestamp(birth_timestamp, tz=UTC).date() + birth_date = datetime.fromtimestamp(birth_timestamp, tz=timezone.utc).date() # noqa: UP017 return (today.year - birth_date.year) - ( (today.month, today.day) < (birth_date.month, birth_date.day) ) @@ -65,7 +66,7 @@ def get_forbes_real_time_billionaires() -> list[dict[str, int | str]]: "Country": person["countryOfCitizenship"], "Gender": person["gender"], "Worth ($)": f"{person['finalWorth'] / 1000:.1f} Billion", - "Age": years_old(person["birthDate"]), + "Age": str(years_old(person["birthDate"] / 1000)), } for person in response_json["personList"]["personsLists"] ] @@ -95,4 +96,5 @@ def display_billionaires(forbes_billionaires: list[dict[str, int | str]]) -> Non if __name__ == "__main__": + doctest.testmod() display_billionaires(get_forbes_real_time_billionaires())