27 lines
1.2 KiB
Python
27 lines
1.2 KiB
Python
from DesignEntity import DesignEntity
|
|
from TableDesign import TableDesign
|
|
from Assets import defaultfontsize
|
|
from CryptoPrices import CryptoPrices
|
|
from settings import crypto_coins as cryptos
|
|
|
|
|
|
class CryptoListDesign (DesignEntity):
|
|
def __init__ (self, size, coin, text_size = defaultfontsize):
|
|
super(CryptoListDesign, self).__init__(size)
|
|
self.coin = coin
|
|
self.__post_matrix__ = []
|
|
self.text_size = text_size
|
|
|
|
def __finish_image__ (self):
|
|
self.__fill_post_matrix__()
|
|
table_design = TableDesign(self.size, column_horizontal_alignments = ["Right"], line_spacing=2, col_spacing=3, matrix=self.__post_matrix__, fontsize = self.text_size, mask=False, wrap=True, truncate_rows=True)
|
|
self.draw_design(table_design)
|
|
|
|
def format_price(self,prices,coins,daychange):
|
|
return [ '', coins,' | ','$',prices,' | %',daychange]
|
|
|
|
def __fill_post_matrix__ (self):
|
|
prices, coins, daychanges = CryptoPrices.__get_prices__(self.coin)
|
|
for price, coin, daychange in zip(prices, coins, daychanges):
|
|
row=self.format_price(str(price), coin, str(daychange))
|
|
self.__post_matrix__.append(row)
|