56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
|
|
import requests, json, sys
|
|
|
|
def geminiPublicTicker(type, logger):
|
|
|
|
try:
|
|
uri = "https://api.gemini.com/v1/pubticker/" + type.lower().replace('_', '')
|
|
|
|
response = requests.request("GET", uri)
|
|
response = json.loads(response.text)
|
|
|
|
price = (float(response['last']) + float(response['ask']) + float(response['bid']))/3
|
|
price = round(price, 2)
|
|
|
|
return price
|
|
except KeyError as e:
|
|
logger.error("Gemini Spot Price Error: {}".format(e))
|
|
price = 0
|
|
return price
|
|
|
|
def geminiVolAskBid(type, logger):
|
|
try:
|
|
uri = "https://api.gemini.com/v2/ticker/" + type.lower().replace('_', '')
|
|
response = requests.request("GET", uri)
|
|
response = json.loads(response.text)
|
|
|
|
ask = round(float(response['ask']), 2)
|
|
bid = round(float(response['bid']), 2)
|
|
|
|
uri = "https://api.gemini.com/v1/pubticker/" + type.lower().replace('_', '')
|
|
response = requests.request("GET", uri)
|
|
response = json.loads(response.text)
|
|
|
|
vol = round(float(response['volume']['BTC'])/24, 2)
|
|
|
|
return vol, ask, bid
|
|
except KeyError as e:
|
|
logger.error("Gemini Volume Ask Bid Error: {}".format(e))
|
|
return 0, 0, 0
|
|
|
|
def geminiDailyOpenClose(type, logger):
|
|
try:
|
|
uri = "https://api.gemini.com/v2/ticker/" + type.lower().replace('_', '')
|
|
response = requests.request("GET", uri)
|
|
response = json.loads(response.text)
|
|
|
|
dailyOpen = round(float(response['open']), 2)
|
|
dailyClose = round(float(response['close']), 2)
|
|
|
|
return open, close
|
|
except KeyError as e:
|
|
logger.error("Gemini Open Close Error: {}".format(e))
|
|
sys.stdout.flush()
|
|
return 0, 0
|