-
Notifications
You must be signed in to change notification settings - Fork 0
/
explorer.py
70 lines (53 loc) · 2.23 KB
/
explorer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import requests
import json
import time
from prettytable import PrettyTable
while True:
# base URLs
globalURL = "https://api.coinmarketcap.com/v1/global/"
tickerURL = "https://api.coinmarketcap.com/v1/ticker/"
t = PrettyTable(['Name', 'Ticker','Price in USD', 'Rank', 'Percentage change 1hr', 'Percentage change 24 hr', 'Percentage change 7days', 'Last updated'])
# get data from globalURL
request = requests.get(globalURL)
data = request.json()
# menu
print()
print("Welcome to the Cryptocurrency Explorer!")
print("Enter 'all' or 'name of crypto' (i.e. bitcoin) to see the name of the top 100 currencies or a specific currency")
print()
coin = input("Enter the Cryptocurrency: ")
if coin == "all":
request = requests.get(tickerURL)
data = request.json()
for x in data:
ticker = x['symbol']
name = x['name']
price = x['price_usd']
rank = x['rank']
percent_change_1hr = x['percent_change_1h']
percent_change_24hr = x['percent_change_24h']
percent_change_7d = x['percent_change_7d']
epoch = int(x['last_updated'])
last_updated = time.strftime("%a, %d %b %Y %H:%M:%S %Z", time.localtime(epoch))
t.add_row([name,ticker,price,rank,percent_change_1hr,percent_change_24hr,percent_change_7d, last_updated])
print(t)
else:
tickerURL += '/'+coin+'/'
request = requests.get(tickerURL)
data = request.json()
name = data[0]['name']
ticker = data[0]['symbol']
price = data[0]['price_usd']
rank = data[0]['rank']
percent_change_1hr = data[0]['percent_change_1h']
percent_change_24hr = data[0]['percent_change_24h']
percent_change_7d = data[0]['percent_change_7d']
epoch = int(data[0]['last_updated'])
last_updated = time.strftime("%a, %d %b %Y %H:%M:%S %Z", time.localtime(epoch))
t.add_row([name,ticker,price,rank,percent_change_1hr,percent_change_24hr,percent_change_7d, last_updated])
print(t)
coin2 = input("Another coin (y/n): ")
if coin2 == "y":
continue
if coin2 == "n":
break