commit ab41c6f940490883a7a2d6922e50aae7bf2bac7e
parent 068609b4a65a172a15a24299b8a0fad0ef82898c
Author: ThomasV <thomasv1@gmx.de>
Date: Wed, 23 Jul 2014 23:53:55 +0200
Merge pull request #766 from wozz/winkdex
Update exchange rate plugin for Winkdex
Diffstat:
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/plugins/exchange_rate.py b/plugins/exchange_rate.py
@@ -48,7 +48,7 @@ class Exchanger(threading.Thread):
def get_json(self, site, get_string):
try:
connection = httplib.HTTPSConnection(site)
- connection.request("GET", get_string)
+ connection.request("GET", get_string, headers={"User-Agent":"Electrum"})
except Exception:
raise
resp = connection.getresponse()
@@ -123,16 +123,13 @@ class Exchanger(threading.Thread):
def update_wd(self):
try:
- winkresp = self.get_json('winkdex.com', "/static/data/0_600_288.json")
- ####could need nonce value in GET, no Docs available
+ winkresp = self.get_json('winkdex.com', "/api/v0/price")
except Exception:
return
quote_currencies = {"USD": 0.0}
- ####get y of highest x in "prices"
- lenprices = len(winkresp["prices"])
- usdprice = winkresp["prices"][lenprices-1]["y"]
+ usdprice = decimal.Decimal(str(winkresp["price"]))/decimal.Decimal("100.0")
try:
- quote_currencies["USD"] = decimal.Decimal(str(usdprice))
+ quote_currencies["USD"] = usdprice
with self.lock:
self.quote_currencies = quote_currencies
except KeyError:
@@ -426,7 +423,7 @@ class Plugin(BasePlugin):
return
elif cur_exchange == "Winkdex":
try:
- resp_hist = self.exchanger.get_json('winkdex.com', "/static/data/0_86400_730.json")['prices']
+ resp_hist = self.exchanger.get_json('winkdex.com', "/api/v0/series?start_time=1342915200")['series'][0]['results']
except Exception:
return
elif cur_exchange == "BitcoinVenezuela":
@@ -467,12 +464,14 @@ class Plugin(BasePlugin):
except KeyError:
tx_USD_val = "%.2f %s" % (self.btc_rate * Decimal(str(tx_info['value']))/100000000 , "USD")
elif cur_exchange == "Winkdex":
- tx_time_str = int(tx_time) - (int(tx_time) % (60 * 60 * 24))
+ tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d') + "T16:00:00-04:00"
try:
- tx_rate = resp_hist[[x['x'] for x in resp_hist].index(tx_time_str)]['y']
- tx_USD_val = "%.2f %s" % (Decimal(tx_info['value']) / 100000000 * Decimal(tx_rate), "USD")
+ tx_rate = resp_hist[[x['timestamp'] for x in resp_hist].index(tx_time_str)]['price']
+ tx_USD_val = "%.2f %s" % (Decimal(tx_info['value']) / 100000000 * Decimal(tx_rate)/Decimal("100.0"), "USD")
except ValueError:
tx_USD_val = "%.2f %s" % (self.btc_rate * Decimal(tx_info['value'])/100000000 , "USD")
+ except KeyError:
+ tx_USD_val = _("No data")
elif cur_exchange == "BitcoinVenezuela":
tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d')
try: