Files
zpool-switch/zpool-switch.py
2018-01-18 15:00:58 -08:00

43 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
# API description: http://www.zpool.ca/site/api
# estimates: values in mBTC/MH/day,
# mBTC/PH/day for sha256
# mBTC/GH/day for scrypt, blake, decred, x11, quark, qubit
# mBTC/kS/day for equihash
import pprint
import json
import urllib.request
import urllib.parse
import sys
import datetime
import time
import subprocess
import os
import socket
currency="USD"
# IPv4 address lookup
def addr(host):
return [addr[4][0] for addr in socket.getaddrinfo(host, None) if addr[0] == socket.AF_INET][0]
# grab something from a website
def fetch(prot, host, path, forceipv4=False):
if (forceipv4):
url=prot+"://"+addr(host)+"/"+path
else:
url=prot+"://"+host+"/"+path
r=urllib.request.Request(url, None, {"User-Agent": "Lynx/2.8.8dev.3 libwww-FM/2.14 SSL-MM/1.4.1", "Pragma": "no-cache", "Host": host})
return urllib.request.urlopen(r).read().decode("utf-8")
# main
exchrate=float(json.loads(fetch("https", "api.coinbase.com", "/v2/exchange-rates?currency=BTC"))["data"]["rates"][currency])
data=json.loads(fetch("http", "www.zpool.ca", "/api/currencies", True))
pprint.pprint(exchrate)