35 lines
958 B
Python
Executable File
35 lines
958 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import http.client as http
|
|
import json
|
|
|
|
# curl -sS https://api.coingecko.com/api/v3/coins/list
|
|
COINS = ["monero", "bitcoin"]
|
|
CURRENCY = "usd"
|
|
FORMAT = "{symbol}=${price:.0f} {trend:+.1f}%"
|
|
|
|
|
|
# https://docs.coingecko.com/v3.0.1/reference/coins-id
|
|
def main():
|
|
path = "/api/v3/coins/{id}?localization=false&tickers=false&market_data=true&community_data=false&developer_data=false&sparkline=false"
|
|
client = http.HTTPSConnection("api.coingecko.com", timeout=10)
|
|
strings = []
|
|
|
|
for c in COINS:
|
|
client.request("GET", path.format(id=c))
|
|
j = json.loads(client.getresponse().read())
|
|
|
|
strings.append(
|
|
FORMAT.format(
|
|
symbol=j["symbol"].upper(),
|
|
price=j["market_data"]["current_price"][CURRENCY],
|
|
trend=j["market_data"]["price_change_percentage_24h"],
|
|
)
|
|
)
|
|
|
|
print(" - ".join(strings))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|