tMerge pull request #766 from wozz/winkdex - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit ab41c6f940490883a7a2d6922e50aae7bf2bac7e DIR parent 068609b4a65a172a15a24299b8a0fad0ef82898c HTML 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: M plugins/exchange_rate.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) --- DIR diff --git a/plugins/exchange_rate.py b/plugins/exchange_rate.py t@@ -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() t@@ -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: t@@ -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": t@@ -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: