Skip to content

Commit 9b479b7

Browse files
author
ravi
committed
Return currency symbole and currency name for given currency code
1 parent 5444008 commit 9b479b7

2 files changed

Lines changed: 184 additions & 0 deletions

File tree

forex_python/converter.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import os
2+
import json
13
import requests
24

35

@@ -61,3 +63,27 @@ def convert(self, base_cur, dest_cur, amount, date_obj=None):
6163
converted_amount = rate * amount
6264
return converted_amount
6365
raise RatesNotAvailableError("Currency Rates Source Not Ready")
66+
67+
68+
class CurrencyCodes:
69+
70+
def __init__(self):
71+
pass
72+
73+
def _get_data(self, currency_code):
74+
file_path = os.path.dirname(os.path.abspath(__file__))
75+
currency_data = json.loads(open(file_path+'/raw_data/currencies.json').read())
76+
currency_dict = next((item for item in currency_data if item["cc"] == currency_code), None)
77+
return currency_dict
78+
79+
def get_symbol(self, currency_code):
80+
currency_dict = self._get_data(currency_code)
81+
if currency_dict:
82+
return currency_dict.get('symbol')
83+
return None
84+
85+
def get_currency_name(self, currency_code):
86+
currency_dict = self._get_data(currency_code)
87+
if currency_dict:
88+
return currency_dict.get('name')
89+
return None
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
[
2+
{"cc":"AED","symbol":"\u062f.\u0625;","name":"UAE dirham"},
3+
{"cc":"AFN","symbol":"Afs","name":"Afghan afghani"},
4+
{"cc":"ALL","symbol":"L","name":"Albanian lek"},
5+
{"cc":"AMD","symbol":"AMD","name":"Armenian dram"},
6+
{"cc":"ANG","symbol":"NA\u0192","name":"Netherlands Antillean gulden"},
7+
{"cc":"AOA","symbol":"Kz","name":"Angolan kwanza"},
8+
{"cc":"ARS","symbol":"$","name":"Argentine peso"},
9+
{"cc":"AUD","symbol":"$","name":"Australian dollar"},
10+
{"cc":"AWG","symbol":"\u0192","name":"Aruban florin"},
11+
{"cc":"AZN","symbol":"AZN","name":"Azerbaijani manat"},
12+
{"cc":"BAM","symbol":"KM","name":"Bosnia and Herzegovina konvertibilna marka"},
13+
{"cc":"BBD","symbol":"Bds$","name":"Barbadian dollar"},
14+
{"cc":"BDT","symbol":"\u09f3","name":"Bangladeshi taka"},
15+
{"cc":"BGN","symbol":"BGN","name":"Bulgarian lev"},
16+
{"cc":"BHD","symbol":".\u062f.\u0628","name":"Bahraini dinar"},
17+
{"cc":"BIF","symbol":"FBu","name":"Burundi franc"},
18+
{"cc":"BMD","symbol":"BD$","name":"Bermudian dollar"},
19+
{"cc":"BND","symbol":"B$","name":"Brunei dollar"},
20+
{"cc":"BOB","symbol":"Bs.","name":"Bolivian boliviano"},
21+
{"cc":"BRL","symbol":"R$","name":"Brazilian real"},
22+
{"cc":"BSD","symbol":"B$","name":"Bahamian dollar"},
23+
{"cc":"BTN","symbol":"Nu.","name":"Bhutanese ngultrum"},
24+
{"cc":"BWP","symbol":"P","name":"Botswana pula"},
25+
{"cc":"BYR","symbol":"Br","name":"Belarusian ruble"},
26+
{"cc":"BZD","symbol":"BZ$","name":"Belize dollar"},
27+
{"cc":"CAD","symbol":"$","name":"Canadian dollar"},
28+
{"cc":"CDF","symbol":"F","name":"Congolese franc"},
29+
{"cc":"CHF","symbol":"Fr.","name":"Swiss franc"},
30+
{"cc":"CLP","symbol":"$","name":"Chilean peso"},
31+
{"cc":"CNY","symbol":"\u00a5","name":"Chinese/Yuan renminbi"},
32+
{"cc":"COP","symbol":"Col$","name":"Colombian peso"},
33+
{"cc":"CRC","symbol":"\u20a1","name":"Costa Rican colon"},
34+
{"cc":"CUC","symbol":"$","name":"Cuban peso"},
35+
{"cc":"CVE","symbol":"Esc","name":"Cape Verdean escudo"},
36+
{"cc":"CZK","symbol":"K\u010d","name":"Czech koruna"},
37+
{"cc":"DJF","symbol":"Fdj","name":"Djiboutian franc"},
38+
{"cc":"DKK","symbol":"Kr","name":"Danish krone"},
39+
{"cc":"DOP","symbol":"RD$","name":"Dominican peso"},
40+
{"cc":"DZD","symbol":"\u062f.\u062c","name":"Algerian dinar"},
41+
{"cc":"EEK","symbol":"KR","name":"Estonian kroon"},
42+
{"cc":"EGP","symbol":"\u00a3","name":"Egyptian pound"},
43+
{"cc":"ERN","symbol":"Nfa","name":"Eritrean nakfa"},
44+
{"cc":"ETB","symbol":"Br","name":"Ethiopian birr"},
45+
{"cc":"EUR","symbol":"\u20ac","name":"European Euro"},
46+
{"cc":"FJD","symbol":"FJ$","name":"Fijian dollar"},
47+
{"cc":"FKP","symbol":"\u00a3","name":"Falkland Islands pound"},
48+
{"cc":"GBP","symbol":"\u00a3","name":"British pound"},
49+
{"cc":"GEL","symbol":"GEL","name":"Georgian lari"},
50+
{"cc":"GHS","symbol":"GH\u20b5","name":"Ghanaian cedi"},
51+
{"cc":"GIP","symbol":"\u00a3","name":"Gibraltar pound"},
52+
{"cc":"GMD","symbol":"D","name":"Gambian dalasi"},
53+
{"cc":"GNF","symbol":"FG","name":"Guinean franc"},
54+
{"cc":"GQE","symbol":"CFA","name":"Central African CFA franc"},
55+
{"cc":"GTQ","symbol":"Q","name":"Guatemalan quetzal"},
56+
{"cc":"GYD","symbol":"GY$","name":"Guyanese dollar"},
57+
{"cc":"HKD","symbol":"HK$","name":"Hong Kong dollar"},
58+
{"cc":"HNL","symbol":"L","name":"Honduran lempira"},
59+
{"cc":"HRK","symbol":"kn","name":"Croatian kuna"},
60+
{"cc":"HTG","symbol":"G","name":"Haitian gourde"},
61+
{"cc":"HUF","symbol":"Ft","name":"Hungarian forint"},
62+
{"cc":"IDR","symbol":"Rp","name":"Indonesian rupiah"},
63+
{"cc":"ILS","symbol":"\u20aa","name":"Israeli new sheqel"},
64+
{"cc":"INR","symbol":"\u20B9","name":"Indian rupee"},
65+
{"cc":"IQD","symbol":"\u062f.\u0639","name":"Iraqi dinar"},
66+
{"cc":"IRR","symbol":"IRR","name":"Iranian rial"},
67+
{"cc":"ISK","symbol":"kr","name":"Icelandic kr\u00f3na"},
68+
{"cc":"JMD","symbol":"J$","name":"Jamaican dollar"},
69+
{"cc":"JOD","symbol":"JOD","name":"Jordanian dinar"},
70+
{"cc":"JPY","symbol":"\u00a5","name":"Japanese yen"},
71+
{"cc":"KES","symbol":"KSh","name":"Kenyan shilling"},
72+
{"cc":"KGS","symbol":"\u0441\u043e\u043c","name":"Kyrgyzstani som"},
73+
{"cc":"KHR","symbol":"\u17db","name":"Cambodian riel"},
74+
{"cc":"KMF","symbol":"KMF","name":"Comorian franc"},
75+
{"cc":"KPW","symbol":"W","name":"North Korean won"},
76+
{"cc":"KRW","symbol":"W","name":"South Korean won"},
77+
{"cc":"KWD","symbol":"KWD","name":"Kuwaiti dinar"},
78+
{"cc":"KYD","symbol":"KY$","name":"Cayman Islands dollar"},
79+
{"cc":"KZT","symbol":"T","name":"Kazakhstani tenge"},
80+
{"cc":"LAK","symbol":"KN","name":"Lao kip"},
81+
{"cc":"LBP","symbol":"\u00a3","name":"Lebanese lira"},
82+
{"cc":"LKR","symbol":"Rs","name":"Sri Lankan rupee"},
83+
{"cc":"LRD","symbol":"L$","name":"Liberian dollar"},
84+
{"cc":"LSL","symbol":"M","name":"Lesotho loti"},
85+
{"cc":"LTL","symbol":"Lt","name":"Lithuanian litas"},
86+
{"cc":"LVL","symbol":"Ls","name":"Latvian lats"},
87+
{"cc":"LYD","symbol":"LD","name":"Libyan dinar"},
88+
{"cc":"MAD","symbol":"MAD","name":"Moroccan dirham"},
89+
{"cc":"MDL","symbol":"MDL","name":"Moldovan leu"},
90+
{"cc":"MGA","symbol":"FMG","name":"Malagasy ariary"},
91+
{"cc":"MKD","symbol":"MKD","name":"Macedonian denar"},
92+
{"cc":"MMK","symbol":"K","name":"Myanma kyat"},
93+
{"cc":"MNT","symbol":"\u20ae","name":"Mongolian tugrik"},
94+
{"cc":"MOP","symbol":"P","name":"Macanese pataca"},
95+
{"cc":"MRO","symbol":"UM","name":"Mauritanian ouguiya"},
96+
{"cc":"MUR","symbol":"Rs","name":"Mauritian rupee"},
97+
{"cc":"MVR","symbol":"Rf","name":"Maldivian rufiyaa"},
98+
{"cc":"MWK","symbol":"MK","name":"Malawian kwacha"},
99+
{"cc":"MXN","symbol":"$","name":"Mexican peso"},
100+
{"cc":"MYR","symbol":"RM","name":"Malaysian ringgit"},
101+
{"cc":"MZM","symbol":"MTn","name":"Mozambican metical"},
102+
{"cc":"NAD","symbol":"N$","name":"Namibian dollar"},
103+
{"cc":"NGN","symbol":"\u20a6","name":"Nigerian naira"},
104+
{"cc":"NIO","symbol":"C$","name":"Nicaraguan c\u00f3rdoba"},
105+
{"cc":"NOK","symbol":"kr","name":"Norwegian krone"},
106+
{"cc":"NPR","symbol":"NRs","name":"Nepalese rupee"},
107+
{"cc":"NZD","symbol":"NZ$","name":"New Zealand dollar"},
108+
{"cc":"OMR","symbol":"OMR","name":"Omani rial"},
109+
{"cc":"PAB","symbol":"B./","name":"Panamanian balboa"},
110+
{"cc":"PEN","symbol":"S/.","name":"Peruvian nuevo sol"},
111+
{"cc":"PGK","symbol":"K","name":"Papua New Guinean kina"},
112+
{"cc":"PHP","symbol":"\u20b1","name":"Philippine peso"},
113+
{"cc":"PKR","symbol":"Rs.","name":"Pakistani rupee"},
114+
{"cc":"PLN","symbol":"z\u0142","name":"Polish zloty"},
115+
{"cc":"PYG","symbol":"\u20b2","name":"Paraguayan guarani"},
116+
{"cc":"QAR","symbol":"QR","name":"Qatari riyal"},
117+
{"cc":"RON","symbol":"L","name":"Romanian leu"},
118+
{"cc":"RSD","symbol":"din.","name":"Serbian dinar"},
119+
{"cc":"RUB","symbol":"R","name":"Russian ruble"},
120+
{"cc":"SAR","symbol":"SR","name":"Saudi riyal"},
121+
{"cc":"SBD","symbol":"SI$","name":"Solomon Islands dollar"},
122+
{"cc":"SCR","symbol":"SR","name":"Seychellois rupee"},
123+
{"cc":"SDG","symbol":"SDG","name":"Sudanese pound"},
124+
{"cc":"SEK","symbol":"kr","name":"Swedish krona"},
125+
{"cc":"SGD","symbol":"S$","name":"Singapore dollar"},
126+
{"cc":"SHP","symbol":"\u00a3","name":"Saint Helena pound"},
127+
{"cc":"SLL","symbol":"Le","name":"Sierra Leonean leone"},
128+
{"cc":"SOS","symbol":"Sh.","name":"Somali shilling"},
129+
{"cc":"SRD","symbol":"$","name":"Surinamese dollar"},
130+
{"cc":"SYP","symbol":"LS","name":"Syrian pound"},
131+
{"cc":"SZL","symbol":"E","name":"Swazi lilangeni"},
132+
{"cc":"THB","symbol":"\u0e3f","name":"Thai baht"},
133+
{"cc":"TJS","symbol":"TJS","name":"Tajikistani somoni"},
134+
{"cc":"TMT","symbol":"m","name":"Turkmen manat"},
135+
{"cc":"TND","symbol":"DT","name":"Tunisian dinar"},
136+
{"cc":"TRY","symbol":"TRY","name":"Turkish new lira"},
137+
{"cc":"TTD","symbol":"TT$","name":"Trinidad and Tobago dollar"},
138+
{"cc":"TWD","symbol":"NT$","name":"New Taiwan dollar"},
139+
{"cc":"TZS","symbol":"TZS","name":"Tanzanian shilling"},
140+
{"cc":"UAH","symbol":"UAH","name":"Ukrainian hryvnia"},
141+
{"cc":"UGX","symbol":"USh","name":"Ugandan shilling"},
142+
{"cc":"USD","symbol":"US$","name":"United States dollar"},
143+
{"cc":"UYU","symbol":"$U","name":"Uruguayan peso"},
144+
{"cc":"UZS","symbol":"UZS","name":"Uzbekistani som"},
145+
{"cc":"VEB","symbol":"Bs","name":"Venezuelan bolivar"},
146+
{"cc":"VND","symbol":"\u20ab","name":"Vietnamese dong"},
147+
{"cc":"VUV","symbol":"VT","name":"Vanuatu vatu"},
148+
{"cc":"WST","symbol":"WS$","name":"Samoan tala"},
149+
{"cc":"XAF","symbol":"CFA","name":"Central African CFA franc"},
150+
{"cc":"XCD","symbol":"EC$","name":"East Caribbean dollar"},
151+
{"cc":"XDR","symbol":"SDR","name":"Special Drawing Rights"},
152+
{"cc":"XOF","symbol":"CFA","name":"West African CFA franc"},
153+
{"cc":"XPF","symbol":"F","name":"CFP franc"},
154+
{"cc":"YER","symbol":"YER","name":"Yemeni rial"},
155+
{"cc":"ZAR","symbol":"R","name":"South African rand"},
156+
{"cc":"ZMK","symbol":"ZK","name":"Zambian kwacha"},
157+
{"cc":"ZWR","symbol":"Z$","name":"Zimbabwean dollar"}
158+
]

0 commit comments

Comments
 (0)