Merge pull request #766 from wozz/winkdex

Update exchange rate plugin for Winkdex
This commit is contained in:
ThomasV 2014-07-23 23:53:55 +02:00
commit ab41c6f940
1 changed files with 10 additions and 11 deletions

View File

@ -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: