Spaces:
Sleeping
Sleeping
# get current date (not time) | |
# seed a random generator from it | |
# pick a country from the list and return it | |
import random | |
import datetime | |
from fastapi import FastAPI | |
from fastapi.responses import PlainTextResponse | |
app = FastAPI() | |
countries = [ | |
{"Name": "Afghanistan", "Code": "AF"}, | |
{"Name": "Albania", "Code": "AL"}, | |
{"Name": "Algeria", "Code": "DZ"}, | |
{"Name": "American Samoa", "Code": "AS"}, | |
{"Name": "Andorra", "Code": "AD"}, | |
{"Name": "Angola", "Code": "AO"}, | |
{"Name": "Anguilla", "Code": "AI"}, | |
{"Name": "Antarctica", "Code": "AQ"}, | |
{"Name": "Antigua and Barbuda", "Code": "AG"}, | |
{"Name": "Argentina", "Code": "AR"}, | |
{"Name": "Armenia", "Code": "AM"}, | |
{"Name": "Aruba", "Code": "AW"}, | |
{"Name": "Australia", "Code": "AU"}, | |
{"Name": "Austria", "Code": "AT"}, | |
{"Name": "Azerbaijan", "Code": "AZ"}, | |
{"Name": "Bahamas", "Code": "BS"}, | |
{"Name": "Bahrain", "Code": "BH"}, | |
{"Name": "Bangladesh", "Code": "BD"}, | |
{"Name": "Barbados", "Code": "BB"}, | |
{"Name": "Belarus", "Code": "BY"}, | |
{"Name": "Belgium", "Code": "BE"}, | |
{"Name": "Belize", "Code": "BZ"}, | |
{"Name": "Benin", "Code": "BJ"}, | |
{"Name": "Bermuda", "Code": "BM"}, | |
{"Name": "Bhutan", "Code": "BT"}, | |
{"Name": "Bolivia, Plurinational State of", "Code": "BO"}, | |
{"Name": "Bonaire, Sint Eustatius and Saba", "Code": "BQ"}, | |
{"Name": "Bosnia and Herzegovina", "Code": "BA"}, | |
{"Name": "Botswana", "Code": "BW"}, | |
{"Name": "Bouvet Island", "Code": "BV"}, | |
{"Name": "Brazil", "Code": "BR"}, | |
{"Name": "British Indian Ocean Territory", "Code": "IO"}, | |
{"Name": "Brunei Darussalam", "Code": "BN"}, | |
{"Name": "Bulgaria", "Code": "BG"}, | |
{"Name": "Burkina Faso", "Code": "BF"}, | |
{"Name": "Burundi", "Code": "BI"}, | |
{"Name": "Cambodia", "Code": "KH"}, | |
{"Name": "Cameroon", "Code": "CM"}, | |
{"Name": "Canada", "Code": "CA"}, | |
{"Name": "Cape Verde", "Code": "CV"}, | |
{"Name": "Cayman Islands", "Code": "KY"}, | |
{"Name": "Central African Republic", "Code": "CF"}, | |
{"Name": "Chad", "Code": "TD"}, | |
{"Name": "Chile", "Code": "CL"}, | |
{"Name": "China", "Code": "CN"}, | |
{"Name": "Christmas Island", "Code": "CX"}, | |
{"Name": "Cocos (Keeling) Islands", "Code": "CC"}, | |
{"Name": "Colombia", "Code": "CO"}, | |
{"Name": "Comoros", "Code": "KM"}, | |
{"Name": "Congo", "Code": "CG"}, | |
{"Name": "Congo, the Democratic Republic of the", "Code": "CD"}, | |
{"Name": "Cook Islands", "Code": "CK"}, | |
{"Name": "Costa Rica", "Code": "CR"}, | |
{"Name": "Croatia", "Code": "HR"}, | |
{"Name": "Cuba", "Code": "CU"}, | |
{"Name": "Curaçao", "Code": "CW"}, | |
{"Name": "Cyprus", "Code": "CY"}, | |
{"Name": "Czech Republic", "Code": "CZ"}, | |
{"Name": "Côte d'Ivoire", "Code": "CI"}, | |
{"Name": "Denmark", "Code": "DK"}, | |
{"Name": "Djibouti", "Code": "DJ"}, | |
{"Name": "Dominica", "Code": "DM"}, | |
{"Name": "Dominican Republic", "Code": "DO"}, | |
{"Name": "Ecuador", "Code": "EC"}, | |
{"Name": "Egypt", "Code": "EG"}, | |
{"Name": "El Salvador", "Code": "SV"}, | |
{"Name": "Equatorial Guinea", "Code": "GQ"}, | |
{"Name": "Eritrea", "Code": "ER"}, | |
{"Name": "Estonia", "Code": "EE"}, | |
{"Name": "Ethiopia", "Code": "ET"}, | |
{"Name": "Falkland Islands (Malvinas)", "Code": "FK"}, | |
{"Name": "Faroe Islands", "Code": "FO"}, | |
{"Name": "Fiji", "Code": "FJ"}, | |
{"Name": "Finland", "Code": "FI"}, | |
{"Name": "France", "Code": "FR"}, | |
{"Name": "French Guiana", "Code": "GF"}, | |
{"Name": "French Polynesia", "Code": "PF"}, | |
{"Name": "French Southern Territories", "Code": "TF"}, | |
{"Name": "Gabon", "Code": "GA"}, | |
{"Name": "Gambia", "Code": "GM"}, | |
{"Name": "Georgia", "Code": "GE"}, | |
{"Name": "Germany", "Code": "DE"}, | |
{"Name": "Ghana", "Code": "GH"}, | |
{"Name": "Gibraltar", "Code": "GI"}, | |
{"Name": "Greece", "Code": "GR"}, | |
{"Name": "Greenland", "Code": "GL"}, | |
{"Name": "Grenada", "Code": "GD"}, | |
{"Name": "Guadeloupe", "Code": "GP"}, | |
{"Name": "Guam", "Code": "GU"}, | |
{"Name": "Guatemala", "Code": "GT"}, | |
{"Name": "Guernsey", "Code": "GG"}, | |
{"Name": "Guinea", "Code": "GN"}, | |
{"Name": "Guinea-Bissau", "Code": "GW"}, | |
{"Name": "Guyana", "Code": "GY"}, | |
{"Name": "Haiti", "Code": "HT"}, | |
{"Name": "Heard Island and McDonald Islands", "Code": "HM"}, | |
{"Name": "Holy See (Vatican City State)", "Code": "VA"}, | |
{"Name": "Honduras", "Code": "HN"}, | |
{"Name": "Hong Kong", "Code": "HK"}, | |
{"Name": "Hungary", "Code": "HU"}, | |
{"Name": "Iceland", "Code": "IS"}, | |
{"Name": "India", "Code": "IN"}, | |
{"Name": "Indonesia", "Code": "ID"}, | |
{"Name": "Iran, Islamic Republic of", "Code": "IR"}, | |
{"Name": "Iraq", "Code": "IQ"}, | |
{"Name": "Ireland", "Code": "IE"}, | |
{"Name": "Isle of Man", "Code": "IM"}, | |
{"Name": "Israel", "Code": "IL"}, | |
{"Name": "Italy", "Code": "IT"}, | |
{"Name": "Jamaica", "Code": "JM"}, | |
{"Name": "Japan", "Code": "JP"}, | |
{"Name": "Jersey", "Code": "JE"}, | |
{"Name": "Jordan", "Code": "JO"}, | |
{"Name": "Kazakhstan", "Code": "KZ"}, | |
{"Name": "Kenya", "Code": "KE"}, | |
{"Name": "Kiribati", "Code": "KI"}, | |
{"Name": "Korea, Democratic People's Republic of", "Code": "KP"}, | |
{"Name": "Korea, Republic of", "Code": "KR"}, | |
{"Name": "Kuwait", "Code": "KW"}, | |
{"Name": "Kyrgyzstan", "Code": "KG"}, | |
{"Name": "Lao People's Democratic Republic", "Code": "LA"}, | |
{"Name": "Latvia", "Code": "LV"}, | |
{"Name": "Lebanon", "Code": "LB"}, | |
{"Name": "Lesotho", "Code": "LS"}, | |
{"Name": "Liberia", "Code": "LR"}, | |
{"Name": "Libya", "Code": "LY"}, | |
{"Name": "Liechtenstein", "Code": "LI"}, | |
{"Name": "Lithuania", "Code": "LT"}, | |
{"Name": "Luxembourg", "Code": "LU"}, | |
{"Name": "Macao", "Code": "MO"}, | |
{"Name": "Macedonia, the Former Yugoslav Republic of", "Code": "MK"}, | |
{"Name": "Madagascar", "Code": "MG"}, | |
{"Name": "Malawi", "Code": "MW"}, | |
{"Name": "Malaysia", "Code": "MY"}, | |
{"Name": "Maldives", "Code": "MV"}, | |
{"Name": "Mali", "Code": "ML"}, | |
{"Name": "Malta", "Code": "MT"}, | |
{"Name": "Marshall Islands", "Code": "MH"}, | |
{"Name": "Martinique", "Code": "MQ"}, | |
{"Name": "Mauritania", "Code": "MR"}, | |
{"Name": "Mauritius", "Code": "MU"}, | |
{"Name": "Mayotte", "Code": "YT"}, | |
{"Name": "Mexico", "Code": "MX"}, | |
{"Name": "Micronesia, Federated States of", "Code": "FM"}, | |
{"Name": "Moldova, Republic of", "Code": "MD"}, | |
{"Name": "Monaco", "Code": "MC"}, | |
{"Name": "Mongolia", "Code": "MN"}, | |
{"Name": "Montenegro", "Code": "ME"}, | |
{"Name": "Montserrat", "Code": "MS"}, | |
{"Name": "Morocco", "Code": "MA"}, | |
{"Name": "Mozambique", "Code": "MZ"}, | |
{"Name": "Myanmar", "Code": "MM"}, | |
{"Name": "Namibia", "Code": "NA"}, | |
{"Name": "Nauru", "Code": "NR"}, | |
{"Name": "Nepal", "Code": "NP"}, | |
{"Name": "Netherlands", "Code": "NL"}, | |
{"Name": "New Caledonia", "Code": "NC"}, | |
{"Name": "New Zealand", "Code": "NZ"}, | |
{"Name": "Nicaragua", "Code": "NI"}, | |
{"Name": "Niger", "Code": "NE"}, | |
{"Name": "Nigeria", "Code": "NG"}, | |
{"Name": "Niue", "Code": "NU"}, | |
{"Name": "Norfolk Island", "Code": "NF"}, | |
{"Name": "Northern Mariana Islands", "Code": "MP"}, | |
{"Name": "Norway", "Code": "NO"}, | |
{"Name": "Oman", "Code": "OM"}, | |
{"Name": "Pakistan", "Code": "PK"}, | |
{"Name": "Palau", "Code": "PW"}, | |
{"Name": "Palestine, State of", "Code": "PS"}, | |
{"Name": "Panama", "Code": "PA"}, | |
{"Name": "Papua New Guinea", "Code": "PG"}, | |
{"Name": "Paraguay", "Code": "PY"}, | |
{"Name": "Peru", "Code": "PE"}, | |
{"Name": "Philippines", "Code": "PH"}, | |
{"Name": "Pitcairn", "Code": "PN"}, | |
{"Name": "Poland", "Code": "PL"}, | |
{"Name": "Portugal", "Code": "PT"}, | |
{"Name": "Puerto Rico", "Code": "PR"}, | |
{"Name": "Qatar", "Code": "QA"}, | |
{"Name": "Romania", "Code": "RO"}, | |
{"Name": "Russian Federation", "Code": "RU"}, | |
{"Name": "Rwanda", "Code": "RW"}, | |
{"Name": "Réunion", "Code": "RE"}, | |
{"Name": "Saint Barthélemy", "Code": "BL"}, | |
{"Name": "Saint Helena, Ascension and Tristan da Cunha", "Code": "SH"}, | |
{"Name": "Saint Kitts and Nevis", "Code": "KN"}, | |
{"Name": "Saint Lucia", "Code": "LC"}, | |
{"Name": "Saint Martin (French part)", "Code": "MF"}, | |
{"Name": "Saint Pierre and Miquelon", "Code": "PM"}, | |
{"Name": "Saint Vincent and the Grenadines", "Code": "VC"}, | |
{"Name": "Samoa", "Code": "WS"}, | |
{"Name": "San Marino", "Code": "SM"}, | |
{"Name": "Sao Tome and Principe", "Code": "ST"}, | |
{"Name": "Saudi Arabia", "Code": "SA"}, | |
{"Name": "Senegal", "Code": "SN"}, | |
{"Name": "Serbia", "Code": "RS"}, | |
{"Name": "Seychelles", "Code": "SC"}, | |
{"Name": "Sierra Leone", "Code": "SL"}, | |
{"Name": "Singapore", "Code": "SG"}, | |
{"Name": "Sint Maarten (Dutch part)", "Code": "SX"}, | |
{"Name": "Slovakia", "Code": "SK"}, | |
{"Name": "Slovenia", "Code": "SI"}, | |
{"Name": "Solomon Islands", "Code": "SB"}, | |
{"Name": "Somalia", "Code": "SO"}, | |
{"Name": "South Africa", "Code": "ZA"}, | |
{"Name": "South Georgia and the South Sandwich Islands", "Code": "GS"}, | |
{"Name": "South Sudan", "Code": "SS"}, | |
{"Name": "Spain", "Code": "ES"}, | |
{"Name": "Sri Lanka", "Code": "LK"}, | |
{"Name": "Sudan", "Code": "SD"}, | |
{"Name": "Suriname", "Code": "SR"}, | |
{"Name": "Svalbard and Jan Mayen", "Code": "SJ"}, | |
{"Name": "Swaziland", "Code": "SZ"}, | |
{"Name": "Sweden", "Code": "SE"}, | |
{"Name": "Switzerland", "Code": "CH"}, | |
{"Name": "Syrian Arab Republic", "Code": "SY"}, | |
{"Name": "Taiwan, Province of China", "Code": "TW"}, | |
{"Name": "Tajikistan", "Code": "TJ"}, | |
{"Name": "Tanzania, United Republic of", "Code": "TZ"}, | |
{"Name": "Thailand", "Code": "TH"}, | |
{"Name": "Timor-Leste", "Code": "TL"}, | |
{"Name": "Togo", "Code": "TG"}, | |
{"Name": "Tokelau", "Code": "TK"}, | |
{"Name": "Tonga", "Code": "TO"}, | |
{"Name": "Trinidad and Tobago", "Code": "TT"}, | |
{"Name": "Tunisia", "Code": "TN"}, | |
{"Name": "Turkey", "Code": "TR"}, | |
{"Name": "Turkmenistan", "Code": "TM"}, | |
{"Name": "Turks and Caicos Islands", "Code": "TC"}, | |
{"Name": "Tuvalu", "Code": "TV"}, | |
{"Name": "Uganda", "Code": "UG"}, | |
{"Name": "Ukraine", "Code": "UA"}, | |
{"Name": "United Arab Emirates", "Code": "AE"}, | |
{"Name": "United Kingdom", "Code": "GB"}, | |
{"Name": "United States", "Code": "US"}, | |
{"Name": "United States Minor Outlying Islands", "Code": "UM"}, | |
{"Name": "Uruguay", "Code": "UY"}, | |
{"Name": "Uzbekistan", "Code": "UZ"}, | |
{"Name": "Vanuatu", "Code": "VU"}, | |
{"Name": "Venezuela, Bolivarian Republic of", "Code": "VE"}, | |
{"Name": "Viet Nam", "Code": "VN"}, | |
{"Name": "Virgin Islands, British", "Code": "VG"}, | |
{"Name": "Virgin Islands, U.S.", "Code": "VI"}, | |
{"Name": "Wallis and Futuna", "Code": "WF"}, | |
{"Name": "Western Sahara", "Code": "EH"}, | |
{"Name": "Yemen", "Code": "YE"}, | |
{"Name": "Zambia", "Code": "ZM"}, | |
{"Name": "Zimbabwe", "Code": "ZW"}, | |
{"Name": "Åland Islands", "Code": "AX"}, | |
] | |
async def read_random(): | |
# use the day as a seed, so a new country gets used every day | |
random.seed(datetime.date.today().isoformat()) | |
return f"The country of the day is: {random.choice(countries)['Name']}" | |