@@ -9,7 +9,7 @@ class RateNotFoundError(Exception):
99 pass
1010
1111
12- class SourceNotReadyError (Exception ):
12+ class RatesNotAvailableError (Exception ):
1313 """
1414 Custome Exception when http://fixer.io/ is Down are not available for currency rates
1515 """
@@ -33,7 +33,7 @@ def _validate_date(self, date_str):
3333
3434class CurrencyRates (Common ):
3535
36- def get_all_rates (self , base_cur , date_str = None ):
36+ def get_rates (self , base_cur , date_str = None ):
3737
3838 if date_str is None :
3939 date_str = 'latest'
@@ -46,6 +46,23 @@ def get_all_rates(self, base_cur, date_str=None):
4646 response = requests .get (source_url , params = payload )
4747 if response .status_code == 200 :
4848 rates = response .json ().get ('rates' , {})
49- print type (rates )
5049 return rates
51- raise SourceNotReadyError ("Currency Rates Source Not Ready" )
50+ raise RatesNotAvailableError ("Currency Rates Source Not Ready" )
51+
52+ def get_rate (self , base_cur , dest_cur , date_str = None ):
53+ if date_str is None :
54+ date_str = 'latest'
55+ else :
56+ self ._validate_date (date_str )
57+ date_str = str (date_str )
58+
59+ payload = {'base' : base_cur , 'symbols' : dest_cur }
60+ source_url = self ._source_url () + date_str
61+ response = requests .get (source_url , params = payload )
62+ if response .status_code == 200 :
63+ print response .json ()
64+ rate = response .json ().get ('rates' , {}).get (dest_cur )
65+ return rate
66+ raise RatesNotAvailableError ("Currency Rates Source Not Ready" )
67+
68+ # def convert(self, base_cur, dest_cur, amount, date_str=None)
0 commit comments