Updated.
This commit is contained in:
3
polybar/scripts/apikey.txt
Normal file
3
polybar/scripts/apikey.txt
Normal file
@ -0,0 +1,3 @@
|
||||
# Visit https://developers.coinranking.com/create-account to make an account and generate a free API key.
|
||||
# ADD YOUR API KEY ON A NEW LINE BELOW HERE.
|
||||
coinranking667e22ef80713a74e538696d841e19ade62f38679290e928
|
304
polybar/scripts/coins.svg
Normal file
304
polybar/scripts/coins.svg
Normal file
@ -0,0 +1,304 @@
|
||||
e900:1st
|
||||
e901:ada
|
||||
e902:adc
|
||||
e903:adx
|
||||
e904:aeon
|
||||
e905:amp
|
||||
e906:anc
|
||||
e907:ant
|
||||
e908:arch
|
||||
e909:ardr
|
||||
e90a:aur
|
||||
e90b:banx
|
||||
e90c:bat
|
||||
e90d:bay
|
||||
e90e:bc
|
||||
e90f:bch
|
||||
e910:bcn
|
||||
e911:bft
|
||||
e912:bnb
|
||||
e913:bnt
|
||||
e914:brk
|
||||
e915:brx
|
||||
e916:bsd
|
||||
e917:bta
|
||||
e918:btc
|
||||
e919:btcd
|
||||
e91a:btg
|
||||
e91b:btm
|
||||
e91c:bts
|
||||
e91d:clam
|
||||
e91e:clo
|
||||
e91f:cloak
|
||||
e920:cvc
|
||||
e921:dao
|
||||
e922:dash
|
||||
e923:dcr
|
||||
e924:dct
|
||||
e925:dent
|
||||
e926:dgb
|
||||
e927:dgd
|
||||
e928:dgx
|
||||
e929:dmd
|
||||
e92a:dnt
|
||||
e92b:doge
|
||||
e92c:edg
|
||||
e92d:emc
|
||||
e92e:eos
|
||||
e92f:erc
|
||||
e930:etc
|
||||
e931:eth
|
||||
e932:exp
|
||||
e933:fc2
|
||||
e934:fcn
|
||||
e935:fct
|
||||
e936:flo
|
||||
e937:frk
|
||||
e938:ftc
|
||||
e939:fun
|
||||
e93a:game
|
||||
e93b:gbg
|
||||
e93c:gbyte
|
||||
e93d:gdc
|
||||
e93e:gemz
|
||||
e93f:gld
|
||||
e940:gno
|
||||
e941:gnt
|
||||
e942:golos
|
||||
e943:grc
|
||||
e944:grs
|
||||
e945:gup
|
||||
e946:awc
|
||||
e947:hmq
|
||||
e948:icn
|
||||
e949:ifc
|
||||
e94a:incnt
|
||||
e94b:ioc
|
||||
e94c:cnd
|
||||
e94d:ixt
|
||||
e94e:jbs
|
||||
e94f:kmd
|
||||
e950:kore
|
||||
e951:lbc
|
||||
e952:ldoge
|
||||
e953:lsk
|
||||
e954:ltc
|
||||
e955:lun
|
||||
e956:maid
|
||||
e957:mco
|
||||
e958:mint
|
||||
e959:mln
|
||||
e95a:mona
|
||||
e95b:mrc
|
||||
e95c:msc
|
||||
e95d:msp
|
||||
e95e:mtl
|
||||
e95f:mtr
|
||||
e960:mue
|
||||
e961:nano
|
||||
e962:nav
|
||||
e963:nbt
|
||||
e964:neo
|
||||
e965:neos
|
||||
e966:neu
|
||||
e967:nlg
|
||||
e968:nmc
|
||||
e969:note
|
||||
e96a:nvc
|
||||
e96b:nxt
|
||||
e96c:oax
|
||||
e96d:ok
|
||||
e96e:omg
|
||||
e96f:omni
|
||||
e970:opal
|
||||
e971:part
|
||||
e972:pay
|
||||
e973:piggy
|
||||
e974:pink
|
||||
e975:pivx
|
||||
e976:plbt
|
||||
e977:plr
|
||||
e978:plu
|
||||
e979:pot
|
||||
e97a:ppc
|
||||
e97b:ptoy
|
||||
e97c:qcn
|
||||
e97d:qrk
|
||||
e97e:qtum
|
||||
e97f:rads
|
||||
e980:rbies
|
||||
e981:rbt
|
||||
e982:rby
|
||||
e983:rdd
|
||||
e984:rep
|
||||
e985:rise
|
||||
e986:rlc
|
||||
e987:salt
|
||||
e988:sar
|
||||
e989:scot
|
||||
e98a:sdc
|
||||
e98b:sia
|
||||
e98c:sjcx
|
||||
e98d:slg
|
||||
e98e:sls
|
||||
e98f:sngls
|
||||
e990:snrg
|
||||
e991:snt
|
||||
e992:start
|
||||
e993:steem
|
||||
e994:storj
|
||||
e995:str
|
||||
e996:strat
|
||||
e997:swift
|
||||
e998:swt
|
||||
e999:sync
|
||||
e99a:sys
|
||||
e99b:time
|
||||
e99c:tkn
|
||||
e99d:trig
|
||||
e99e:trst
|
||||
e99f:trx
|
||||
e9a0:tx
|
||||
e9a1:ubq
|
||||
e9a2:unity
|
||||
e9a3:usdt
|
||||
e9a4:ven
|
||||
e9a5:vior
|
||||
e9a6:vnl
|
||||
e9a7:vpn
|
||||
e9a8:vrc
|
||||
e9a9:vtc
|
||||
e9aa:waves
|
||||
e9ab:wings
|
||||
e9ac:xai
|
||||
e9ad:xaur
|
||||
e9ae:xbs
|
||||
e9af:xcp
|
||||
e9b0:xdn
|
||||
e9b1:xem
|
||||
e9b2:xmr
|
||||
e9b3:xpm
|
||||
e9b4:xrp
|
||||
e9b5:xtz
|
||||
e9b7:xzc
|
||||
e9b8:ybc
|
||||
e9b9:zec
|
||||
e9ba:zeit
|
||||
e9bb:zrx
|
||||
e9bc:stx
|
||||
e9bd:sbtc
|
||||
e9be:rcn
|
||||
e9bf:nmr
|
||||
e9c0:zil
|
||||
e9c1:vib
|
||||
e9c2:xnn
|
||||
e9c3:viu
|
||||
e9c4:veri
|
||||
e9c5:sc
|
||||
e9c6:rhoc
|
||||
e9c7:kcs
|
||||
e9c8:icx
|
||||
e9c9:ark
|
||||
e9ca:ae
|
||||
e9cb:tip
|
||||
e9cc:crpt
|
||||
e9cd:via
|
||||
e9ce:myst
|
||||
e9cf:miota
|
||||
e9d0:adt
|
||||
e9d1:eng
|
||||
e9d2:cfi
|
||||
e9d3:dsh
|
||||
e9d4:xlm
|
||||
e9d5:fsbt
|
||||
e9d6:atl
|
||||
e9d7:ath
|
||||
e9d8:arn
|
||||
e9d9:arc
|
||||
e9da:apt
|
||||
e9db:aidoc
|
||||
e9dc:amis
|
||||
e9dd:adst
|
||||
e9de:300
|
||||
e9df:ngc
|
||||
e9e0:srn
|
||||
e9e1:wax
|
||||
e9e2:dcn
|
||||
e9e3:powr
|
||||
e9e4:dkk
|
||||
e9e5:gbp
|
||||
e9e6:eur
|
||||
e9e7:usd
|
||||
e9e8:ukg
|
||||
e9e9:lrc
|
||||
e9ea:brd
|
||||
e9eb:mana
|
||||
e9ec:mer
|
||||
e9ed:tix
|
||||
e9ee:xel
|
||||
e9ef:zen
|
||||
e9f0:btcp
|
||||
e9f1:ebst
|
||||
e9f2:elf
|
||||
e9f3:hsr
|
||||
e9f4:iost
|
||||
e9f5:loom
|
||||
e9f6:mkr
|
||||
e9f7:nas
|
||||
e9f8:now
|
||||
e9f9:snm
|
||||
e9fa:synx
|
||||
e9fb:wan
|
||||
e9fd:ely
|
||||
e9fe:ela
|
||||
e9ff:smart
|
||||
ea00:aion
|
||||
ea01:tusd
|
||||
ea02:usdc
|
||||
ea03:vet
|
||||
ea04:pax
|
||||
ea05:joys
|
||||
ea06:bchsv
|
||||
ea07:bsv
|
||||
ea08:bth
|
||||
ea09:trezor
|
||||
ea0a:ledger
|
||||
ea0b:r
|
||||
ea0c:npxs
|
||||
ea0d:dai
|
||||
ea0e:link
|
||||
ea0f:hot
|
||||
ea10:gusd
|
||||
ea11:eurs
|
||||
ea12:vtho
|
||||
ea13:kin
|
||||
ea14:ont
|
||||
ea15:atom
|
||||
ea16:ankr
|
||||
ea17:erd
|
||||
ea18:ftm
|
||||
ea19:lto
|
||||
ea1a:und
|
||||
ea1b:vera
|
||||
ea1c:yec
|
||||
ea1d:aya
|
||||
ea1e:ethplo
|
||||
ea1f:iotx
|
||||
ea20:enj
|
||||
ea21:rvn
|
||||
ea22:xns
|
||||
ea23:pyn
|
||||
ea24:ncash
|
||||
ea25:loki
|
||||
ea26:knc
|
||||
ea27:job
|
||||
ea28:chz
|
||||
ea29:btu
|
||||
ea2a:apis
|
||||
ea2b:gas
|
||||
ea2c:busd
|
||||
ea2d:iq
|
||||
ea2e:lst
|
||||
ea2f:ong
|
||||
ea30:nut
|
||||
ea31:eosdt
|
67
polybar/scripts/pcrypto.py
Executable file
67
polybar/scripts/pcrypto.py
Executable file
@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import requests
|
||||
import argparse
|
||||
import sys
|
||||
import os
|
||||
|
||||
parser = argparse.ArgumentParser(description="Display currencies on polybar")
|
||||
parser.add_argument("--coins", type=str,
|
||||
nargs="+", help="Select coins to display")
|
||||
parser.add_argument("--base", type=str,
|
||||
nargs="?", default="USD", help="Currency base to convert against")
|
||||
parser.add_argument("--decimals", type=int,
|
||||
nargs="?", default=2, help="How many decimals to show")
|
||||
parser.add_argument("--display", type=str,
|
||||
nargs="?", default="price", choices=["price", "percentage", "both"], help="Display mode")
|
||||
|
||||
args = parser.parse_args()
|
||||
path = os.getcwd()
|
||||
|
||||
if not os.path.exists(f"{path}/scripts/apikey.txt"):
|
||||
sys.stdout.write("API Key not found. Please add to apikey.txt")
|
||||
with open('apikey.txt', 'w') as fp:
|
||||
fp.write("# Visit https://developers.coinranking.com/create-account to make an account and generate a free API key.\n# ADD YOUR API KEY ON A NEW LINE BELOW HERE.")
|
||||
|
||||
else:
|
||||
|
||||
with open(f'{path}/scripts/apikey.txt', 'r') as fp:
|
||||
apikey = [line for line in fp.readlines() if not line.startswith("#")][0]
|
||||
apikey = str(apikey).replace("\n", "")
|
||||
|
||||
unicode_dict = {}
|
||||
with open(f"{path}/scripts/coins.svg", "r", encoding="utf-8") as icons:
|
||||
for line in icons:
|
||||
unicode, coin = line.strip().split(":")
|
||||
unicode_dict[unicode] = coin
|
||||
|
||||
if not (args.coins and args.base):
|
||||
parser.print_help()
|
||||
parser.exit()
|
||||
|
||||
coin_args_list = map(lambda x: f'symbols[]={x}', args.coins)
|
||||
coin_args_str = "&".join(coin_args_list)
|
||||
|
||||
get_base = requests.get(
|
||||
f"https://api.coinranking.com/v2/reference-currencies?search={args.base}",
|
||||
headers={'x-access-token': apikey}).json()["data"]
|
||||
|
||||
get_base = get_base['currencies'][0]
|
||||
|
||||
get_coin = requests.get(
|
||||
f"https://api.coinranking.com/v2/coins?{coin_args_str}&referenceCurrencyUuid={get_base['uuid']}",
|
||||
headers={'x-access-token': apikey}).json()['data']
|
||||
|
||||
for n in range(len(args.coins)):
|
||||
coin = get_coin['coins'][n]
|
||||
price_float = round(float(coin['price']), args.decimals)
|
||||
delta = coin['change']
|
||||
|
||||
current_price = get_base['sign'] + str(price_float)
|
||||
|
||||
if args.display == "price":
|
||||
sys.stdout.write(f" {coin['symbol']} {current_price} ")
|
||||
elif args.display == "percentage":
|
||||
sys.stdout.write(f" {coin['symbol']} {delta:+}% ")
|
||||
elif args.display == "both":
|
||||
sys.stdout.write(f" {coin['symbol']} {current_price} | {delta:+}% ")
|
Reference in New Issue
Block a user