mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-01-18 16:27:02 +00:00
Web programming contribution (#2436)
* Currency Converter * currency converter * Currency Converter * currency converter * implemented changes * Implemented changes requested * TESTING = os.getenv("CONTINUOUS_INTEGRATION", False) * Update currency_converter.py * Update currency_converter.py Co-authored-by: Christian Clauss <cclauss@me.com>
This commit is contained in:
parent
fa364dfd27
commit
f036b9f358
192
web_programming/currency_converter.py
Normal file
192
web_programming/currency_converter.py
Normal file
|
@ -0,0 +1,192 @@
|
|||
"""
|
||||
This is used to convert the currency using the Amdoren Currency API
|
||||
https://www.amdoren.com
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
import requests
|
||||
|
||||
URL_BASE = "https://www.amdoren.com/api/currency.php"
|
||||
TESTING = os.getenv("CI", False)
|
||||
API_KEY = os.getenv("AMDOREN_API_KEY")
|
||||
if not API_KEY and not TESTING:
|
||||
raise KeyError("Please put your API key in an environment variable.")
|
||||
|
||||
|
||||
# Currency and their description
|
||||
list_of_currencies = """
|
||||
AED United Arab Emirates Dirham
|
||||
AFN Afghan Afghani
|
||||
ALL Albanian Lek
|
||||
AMD Armenian Dram
|
||||
ANG Netherlands Antillean Guilder
|
||||
AOA Angolan Kwanza
|
||||
ARS Argentine Peso
|
||||
AUD Australian Dollar
|
||||
AWG Aruban Florin
|
||||
AZN Azerbaijani Manat
|
||||
BAM Bosnia & Herzegovina Convertible Mark
|
||||
BBD Barbadian Dollar
|
||||
BDT Bangladeshi Taka
|
||||
BGN Bulgarian Lev
|
||||
BHD Bahraini Dinar
|
||||
BIF Burundian Franc
|
||||
BMD Bermudian Dollar
|
||||
BND Brunei Dollar
|
||||
BOB Bolivian Boliviano
|
||||
BRL Brazilian Real
|
||||
BSD Bahamian Dollar
|
||||
BTN Bhutanese Ngultrum
|
||||
BWP Botswana Pula
|
||||
BYN Belarus Ruble
|
||||
BZD Belize Dollar
|
||||
CAD Canadian Dollar
|
||||
CDF Congolese Franc
|
||||
CHF Swiss Franc
|
||||
CLP Chilean Peso
|
||||
CNY Chinese Yuan
|
||||
COP Colombian Peso
|
||||
CRC Costa Rican Colon
|
||||
CUC Cuban Convertible Peso
|
||||
CVE Cape Verdean Escudo
|
||||
CZK Czech Republic Koruna
|
||||
DJF Djiboutian Franc
|
||||
DKK Danish Krone
|
||||
DOP Dominican Peso
|
||||
DZD Algerian Dinar
|
||||
EGP Egyptian Pound
|
||||
ERN Eritrean Nakfa
|
||||
ETB Ethiopian Birr
|
||||
EUR Euro
|
||||
FJD Fiji Dollar
|
||||
GBP British Pound Sterling
|
||||
GEL Georgian Lari
|
||||
GHS Ghanaian Cedi
|
||||
GIP Gibraltar Pound
|
||||
GMD Gambian Dalasi
|
||||
GNF Guinea Franc
|
||||
GTQ Guatemalan Quetzal
|
||||
GYD Guyanaese Dollar
|
||||
HKD Hong Kong Dollar
|
||||
HNL Honduran Lempira
|
||||
HRK Croatian Kuna
|
||||
HTG Haiti Gourde
|
||||
HUF Hungarian Forint
|
||||
IDR Indonesian Rupiah
|
||||
ILS Israeli Shekel
|
||||
INR Indian Rupee
|
||||
IQD Iraqi Dinar
|
||||
IRR Iranian Rial
|
||||
ISK Icelandic Krona
|
||||
JMD Jamaican Dollar
|
||||
JOD Jordanian Dinar
|
||||
JPY Japanese Yen
|
||||
KES Kenyan Shilling
|
||||
KGS Kyrgystani Som
|
||||
KHR Cambodian Riel
|
||||
KMF Comorian Franc
|
||||
KPW North Korean Won
|
||||
KRW South Korean Won
|
||||
KWD Kuwaiti Dinar
|
||||
KYD Cayman Islands Dollar
|
||||
KZT Kazakhstan Tenge
|
||||
LAK Laotian Kip
|
||||
LBP Lebanese Pound
|
||||
LKR Sri Lankan Rupee
|
||||
LRD Liberian Dollar
|
||||
LSL Lesotho Loti
|
||||
LYD Libyan Dinar
|
||||
MAD Moroccan Dirham
|
||||
MDL Moldovan Leu
|
||||
MGA Malagasy Ariary
|
||||
MKD Macedonian Denar
|
||||
MMK Myanma Kyat
|
||||
MNT Mongolian Tugrik
|
||||
MOP Macau Pataca
|
||||
MRO Mauritanian Ouguiya
|
||||
MUR Mauritian Rupee
|
||||
MVR Maldivian Rufiyaa
|
||||
MWK Malawi Kwacha
|
||||
MXN Mexican Peso
|
||||
MYR Malaysian Ringgit
|
||||
MZN Mozambican Metical
|
||||
NAD Namibian Dollar
|
||||
NGN Nigerian Naira
|
||||
NIO Nicaragua Cordoba
|
||||
NOK Norwegian Krone
|
||||
NPR Nepalese Rupee
|
||||
NZD New Zealand Dollar
|
||||
OMR Omani Rial
|
||||
PAB Panamanian Balboa
|
||||
PEN Peruvian Nuevo Sol
|
||||
PGK Papua New Guinean Kina
|
||||
PHP Philippine Peso
|
||||
PKR Pakistani Rupee
|
||||
PLN Polish Zloty
|
||||
PYG Paraguayan Guarani
|
||||
QAR Qatari Riyal
|
||||
RON Romanian Leu
|
||||
RSD Serbian Dinar
|
||||
RUB Russian Ruble
|
||||
RWF Rwanda Franc
|
||||
SAR Saudi Riyal
|
||||
SBD Solomon Islands Dollar
|
||||
SCR Seychellois Rupee
|
||||
SDG Sudanese Pound
|
||||
SEK Swedish Krona
|
||||
SGD Singapore Dollar
|
||||
SHP Saint Helena Pound
|
||||
SLL Sierra Leonean Leone
|
||||
SOS Somali Shilling
|
||||
SRD Surinamese Dollar
|
||||
SSP South Sudanese Pound
|
||||
STD Sao Tome and Principe Dobra
|
||||
SYP Syrian Pound
|
||||
SZL Swazi Lilangeni
|
||||
THB Thai Baht
|
||||
TJS Tajikistan Somoni
|
||||
TMT Turkmenistani Manat
|
||||
TND Tunisian Dinar
|
||||
TOP Tonga Paanga
|
||||
TRY Turkish Lira
|
||||
TTD Trinidad and Tobago Dollar
|
||||
TWD New Taiwan Dollar
|
||||
TZS Tanzanian Shilling
|
||||
UAH Ukrainian Hryvnia
|
||||
UGX Ugandan Shilling
|
||||
USD United States Dollar
|
||||
UYU Uruguayan Peso
|
||||
UZS Uzbekistan Som
|
||||
VEF Venezuelan Bolivar
|
||||
VND Vietnamese Dong
|
||||
VUV Vanuatu Vatu
|
||||
WST Samoan Tala
|
||||
XAF Central African CFA franc
|
||||
XCD East Caribbean Dollar
|
||||
XOF West African CFA franc
|
||||
XPF CFP Franc
|
||||
YER Yemeni Rial
|
||||
ZAR South African Rand
|
||||
ZMW Zambian Kwacha
|
||||
"""
|
||||
|
||||
|
||||
def convert_currency(
|
||||
from_: str = "USD", to: str = "INR", amount: float = 1.0, api_key: str = API_KEY
|
||||
) -> str:
|
||||
"""https://www.amdoren.com/currency-api/"""
|
||||
params = locals()
|
||||
params["from"] = params.pop("from_")
|
||||
res = requests.get(URL_BASE, params=params).json()
|
||||
return str(res["amount"]) if res["error"] == 0 else res["error_message"]
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(
|
||||
convert_currency(
|
||||
input("Enter from currency: ").strip(),
|
||||
input("Enter to currency: ").strip(),
|
||||
float(input("Enter the amount: ").strip()),
|
||||
)
|
||||
)
|
Loading…
Reference in New Issue
Block a user