Skip to content

Commit 295434f

Browse files
niranjan195cclauss
authored andcommitted
Web programming contribution (TheAlgorithms#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 <[email protected]>
1 parent 098a9cf commit 295434f

File tree

1 file changed

+192
-0
lines changed

1 file changed

+192
-0
lines changed

Diff for: web_programming/currency_converter.py

+192
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
"""
2+
This is used to convert the currency using the Amdoren Currency API
3+
https://www.amdoren.com
4+
"""
5+
6+
import os
7+
8+
import requests
9+
10+
URL_BASE = "https://www.amdoren.com/api/currency.php"
11+
TESTING = os.getenv("CI", False)
12+
API_KEY = os.getenv("AMDOREN_API_KEY")
13+
if not API_KEY and not TESTING:
14+
raise KeyError("Please put your API key in an environment variable.")
15+
16+
17+
# Currency and their description
18+
list_of_currencies = """
19+
AED United Arab Emirates Dirham
20+
AFN Afghan Afghani
21+
ALL Albanian Lek
22+
AMD Armenian Dram
23+
ANG Netherlands Antillean Guilder
24+
AOA Angolan Kwanza
25+
ARS Argentine Peso
26+
AUD Australian Dollar
27+
AWG Aruban Florin
28+
AZN Azerbaijani Manat
29+
BAM Bosnia & Herzegovina Convertible Mark
30+
BBD Barbadian Dollar
31+
BDT Bangladeshi Taka
32+
BGN Bulgarian Lev
33+
BHD Bahraini Dinar
34+
BIF Burundian Franc
35+
BMD Bermudian Dollar
36+
BND Brunei Dollar
37+
BOB Bolivian Boliviano
38+
BRL Brazilian Real
39+
BSD Bahamian Dollar
40+
BTN Bhutanese Ngultrum
41+
BWP Botswana Pula
42+
BYN Belarus Ruble
43+
BZD Belize Dollar
44+
CAD Canadian Dollar
45+
CDF Congolese Franc
46+
CHF Swiss Franc
47+
CLP Chilean Peso
48+
CNY Chinese Yuan
49+
COP Colombian Peso
50+
CRC Costa Rican Colon
51+
CUC Cuban Convertible Peso
52+
CVE Cape Verdean Escudo
53+
CZK Czech Republic Koruna
54+
DJF Djiboutian Franc
55+
DKK Danish Krone
56+
DOP Dominican Peso
57+
DZD Algerian Dinar
58+
EGP Egyptian Pound
59+
ERN Eritrean Nakfa
60+
ETB Ethiopian Birr
61+
EUR Euro
62+
FJD Fiji Dollar
63+
GBP British Pound Sterling
64+
GEL Georgian Lari
65+
GHS Ghanaian Cedi
66+
GIP Gibraltar Pound
67+
GMD Gambian Dalasi
68+
GNF Guinea Franc
69+
GTQ Guatemalan Quetzal
70+
GYD Guyanaese Dollar
71+
HKD Hong Kong Dollar
72+
HNL Honduran Lempira
73+
HRK Croatian Kuna
74+
HTG Haiti Gourde
75+
HUF Hungarian Forint
76+
IDR Indonesian Rupiah
77+
ILS Israeli Shekel
78+
INR Indian Rupee
79+
IQD Iraqi Dinar
80+
IRR Iranian Rial
81+
ISK Icelandic Krona
82+
JMD Jamaican Dollar
83+
JOD Jordanian Dinar
84+
JPY Japanese Yen
85+
KES Kenyan Shilling
86+
KGS Kyrgystani Som
87+
KHR Cambodian Riel
88+
KMF Comorian Franc
89+
KPW North Korean Won
90+
KRW South Korean Won
91+
KWD Kuwaiti Dinar
92+
KYD Cayman Islands Dollar
93+
KZT Kazakhstan Tenge
94+
LAK Laotian Kip
95+
LBP Lebanese Pound
96+
LKR Sri Lankan Rupee
97+
LRD Liberian Dollar
98+
LSL Lesotho Loti
99+
LYD Libyan Dinar
100+
MAD Moroccan Dirham
101+
MDL Moldovan Leu
102+
MGA Malagasy Ariary
103+
MKD Macedonian Denar
104+
MMK Myanma Kyat
105+
MNT Mongolian Tugrik
106+
MOP Macau Pataca
107+
MRO Mauritanian Ouguiya
108+
MUR Mauritian Rupee
109+
MVR Maldivian Rufiyaa
110+
MWK Malawi Kwacha
111+
MXN Mexican Peso
112+
MYR Malaysian Ringgit
113+
MZN Mozambican Metical
114+
NAD Namibian Dollar
115+
NGN Nigerian Naira
116+
NIO Nicaragua Cordoba
117+
NOK Norwegian Krone
118+
NPR Nepalese Rupee
119+
NZD New Zealand Dollar
120+
OMR Omani Rial
121+
PAB Panamanian Balboa
122+
PEN Peruvian Nuevo Sol
123+
PGK Papua New Guinean Kina
124+
PHP Philippine Peso
125+
PKR Pakistani Rupee
126+
PLN Polish Zloty
127+
PYG Paraguayan Guarani
128+
QAR Qatari Riyal
129+
RON Romanian Leu
130+
RSD Serbian Dinar
131+
RUB Russian Ruble
132+
RWF Rwanda Franc
133+
SAR Saudi Riyal
134+
SBD Solomon Islands Dollar
135+
SCR Seychellois Rupee
136+
SDG Sudanese Pound
137+
SEK Swedish Krona
138+
SGD Singapore Dollar
139+
SHP Saint Helena Pound
140+
SLL Sierra Leonean Leone
141+
SOS Somali Shilling
142+
SRD Surinamese Dollar
143+
SSP South Sudanese Pound
144+
STD Sao Tome and Principe Dobra
145+
SYP Syrian Pound
146+
SZL Swazi Lilangeni
147+
THB Thai Baht
148+
TJS Tajikistan Somoni
149+
TMT Turkmenistani Manat
150+
TND Tunisian Dinar
151+
TOP Tonga Paanga
152+
TRY Turkish Lira
153+
TTD Trinidad and Tobago Dollar
154+
TWD New Taiwan Dollar
155+
TZS Tanzanian Shilling
156+
UAH Ukrainian Hryvnia
157+
UGX Ugandan Shilling
158+
USD United States Dollar
159+
UYU Uruguayan Peso
160+
UZS Uzbekistan Som
161+
VEF Venezuelan Bolivar
162+
VND Vietnamese Dong
163+
VUV Vanuatu Vatu
164+
WST Samoan Tala
165+
XAF Central African CFA franc
166+
XCD East Caribbean Dollar
167+
XOF West African CFA franc
168+
XPF CFP Franc
169+
YER Yemeni Rial
170+
ZAR South African Rand
171+
ZMW Zambian Kwacha
172+
"""
173+
174+
175+
def convert_currency(
176+
from_: str = "USD", to: str = "INR", amount: float = 1.0, api_key: str = API_KEY
177+
) -> str:
178+
"""https://www.amdoren.com/currency-api/"""
179+
params = locals()
180+
params["from"] = params.pop("from_")
181+
res = requests.get(URL_BASE, params=params).json()
182+
return str(res["amount"]) if res["error"] == 0 else res["error_message"]
183+
184+
185+
if __name__ == "__main__":
186+
print(
187+
convert_currency(
188+
input("Enter from currency: ").strip(),
189+
input("Enter to currency: ").strip(),
190+
float(input("Enter the amount: ").strip()),
191+
)
192+
)

0 commit comments

Comments
 (0)