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