add option to round coin price to set decimal point (#658)
* add option to round coin price to set decimal point * import decimal
This commit is contained in:
parent
82f9548a2c
commit
7e8da7686c
@ -1,5 +1,6 @@
|
|||||||
import requests
|
import requests
|
||||||
import json
|
import json
|
||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
from i3pystatus import IntervalModule
|
from i3pystatus import IntervalModule
|
||||||
from i3pystatus.core.util import internet, require
|
from i3pystatus.core.util import internet, require
|
||||||
@ -33,6 +34,7 @@ class Coin(IntervalModule):
|
|||||||
settings = (
|
settings = (
|
||||||
("format", "format string used for output."),
|
("format", "format string used for output."),
|
||||||
("coin", "cryptocurrency to fetch"),
|
("coin", "cryptocurrency to fetch"),
|
||||||
|
("decimal", "round coin price down to this decimal place"),
|
||||||
("currency", "fiat currency to show fiscal data"),
|
("currency", "fiat currency to show fiscal data"),
|
||||||
("symbol", "coin symbol"),
|
("symbol", "coin symbol"),
|
||||||
("interval", "update interval in seconds"),
|
("interval", "update interval in seconds"),
|
||||||
@ -45,6 +47,7 @@ class Coin(IntervalModule):
|
|||||||
currency = "USD"
|
currency = "USD"
|
||||||
interval = 600
|
interval = 600
|
||||||
status_interval = "24h"
|
status_interval = "24h"
|
||||||
|
decimal = 2
|
||||||
|
|
||||||
def fetch_data(self):
|
def fetch_data(self):
|
||||||
response = requests.get("https://api.coinmarketcap.com/v1/ticker/{}/?convert={}".format(self.coin, self.currency))
|
response = requests.get("https://api.coinmarketcap.com/v1/ticker/{}/?convert={}".format(self.coin, self.currency))
|
||||||
@ -74,7 +77,9 @@ class Coin(IntervalModule):
|
|||||||
symbols = dict(bitcoin='฿', ethereum='Ξ', litecoin='Ł', dash='Đ')
|
symbols = dict(bitcoin='฿', ethereum='Ξ', litecoin='Ł', dash='Đ')
|
||||||
if self.coin in symbols:
|
if self.coin in symbols:
|
||||||
fdict["symbol"] = symbols[self.coin]
|
fdict["symbol"] = symbols[self.coin]
|
||||||
|
|
||||||
fdict["status"] = self.set_status(float(fdict["percent_change_{}".format(self.status_interval)]))
|
fdict["status"] = self.set_status(float(fdict["percent_change_{}".format(self.status_interval)]))
|
||||||
|
fdict["price"] = str(round(Decimal(fdict["price"]), self.decimal))
|
||||||
|
|
||||||
self.data = fdict
|
self.data = fdict
|
||||||
self.output = {"full_text": self.format.format(**fdict)}
|
self.output = {"full_text": self.format.format(**fdict)}
|
||||||
|
Loading…
Reference in New Issue
Block a user