From f761c8c88a24156469d37a99276bc9e052baeeca Mon Sep 17 00:00:00 2001 From: Miguel Mota Date: Sun, 1 Apr 2018 09:45:44 -0700 Subject: [PATCH] update readme Former-commit-id: ce7cd4ce80cff27138b02cc375b31130007f0597 [formerly ce7cd4ce80cff27138b02cc375b31130007f0597 [formerly b80695e77cace9b7246fcb080d168563645a94ba [formerly 47b507d904f4f69106078e06afaca9dc5975b903]]] Former-commit-id: fbfb7091621aa34f8da5c679d74b0ae087ad205e Former-commit-id: 4cb897446af4fba3e8d0120c1535939c54499da1 [formerly 83c98671ba7101319677f19007db362b5596ab4f] Former-commit-id: 118bddf986753190aa6bec282ee0f83811158acf --- README.md | 2 +- assets/screenshot.gif.REMOVED.git-id | 2 +- cointop/layout.go | 36 ++++++++++++++++++---------- cointop/market.go | 1 + cointop/table.go | 3 ++- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index dd2ee30..b771856 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ ## Install -Make sure to have [golang](https://golang.org/) installed, then do: +Make sure to have [go](https://golang.org/) (1.9+) installed, then do: ```bash go get -u github.com/miguelmota/cointop diff --git a/assets/screenshot.gif.REMOVED.git-id b/assets/screenshot.gif.REMOVED.git-id index 4ccebf6..9fff2a0 100644 --- a/assets/screenshot.gif.REMOVED.git-id +++ b/assets/screenshot.gif.REMOVED.git-id @@ -1 +1 @@ -04931e1a15e87c267913b1cc423c4158c7ee9516 \ No newline at end of file +1f95c7d178d864adc7bfbb58fe9dbcc540ebe71f \ No newline at end of file diff --git a/cointop/layout.go b/cointop/layout.go index d7cfc5c..313be5a 100644 --- a/cointop/layout.go +++ b/cointop/layout.go @@ -1,6 +1,8 @@ package cointop import ( + "time" + "github.com/jroimartin/gocui" apitypes "github.com/miguelmota/cointop/pkg/api/types" "github.com/miguelmota/cointop/pkg/pad" @@ -75,16 +77,7 @@ func (ct *Cointop) layout(g *gocui.Gui) error { ct.tableview.Highlight = true ct.tableview.SelBgColor = gocui.ColorCyan ct.tableview.SelFgColor = gocui.ColorBlack - var err error - if len(ct.coins) == 0 { - ct.coins, err = ct.fetchData() - if err != nil { - return err - } - } - ct.sort(ct.sortby, ct.sortdesc) ct.updateTable() - ct.rowChanged() } if v, err := g.SetView("status", 0, maxY-2, maxX, maxY); err != nil { @@ -98,14 +91,15 @@ func (ct *Cointop) layout(g *gocui.Gui) error { ct.updateStatus("") } + //ct.intervalFetchData() return nil } -func (ct *Cointop) fetchData() ([]*apitypes.Coin, error) { +func (ct *Cointop) updateTable() error { result := []*apitypes.Coin{} coins, err := ct.api.GetAllCoinData() if err != nil { - return result, err + return err } for i := range coins { @@ -113,5 +107,23 @@ func (ct *Cointop) fetchData() ([]*apitypes.Coin, error) { result = append(result, &coin) } - return result, nil + ct.coins = result + ct.sort(ct.sortby, ct.sortdesc) + ct.refreshTable() + ct.rowChanged() + return nil +} + +func (ct *Cointop) intervalFetchData() { + ticker := time.NewTicker(5 * time.Second) + go func() { + for { + select { + case <-ticker.C: + ct.updateTable() + //ct.updateMarket() + //ct.updateChart() + } + } + }() } diff --git a/cointop/market.go b/cointop/market.go index c3ba57f..043beb6 100644 --- a/cointop/market.go +++ b/cointop/market.go @@ -15,6 +15,7 @@ func (ct *Cointop) updateMarket() error { return err } timeframe := "7 Day" + ct.marketview.Clear() fmt.Fprintln(ct.marketview, pad.Right(fmt.Sprintf("%s Chart: %s • Total Market Cap: %s • 24H Volume: %s • BTC Dominance: %.2f%% • Active Currencies: %s • Active Markets: %s", color.Cyan("cointop"), timeframe, color.WhiteBold(humanize.Commaf(market.TotalMarketCapUSD)), humanize.Commaf(market.Total24HVolumeUSD), market.BitcoinPercentageOfMarketCap, humanize.Comma(int64(market.ActiveCurrencies)), humanize.Comma(int64(market.ActiveMarkets))), maxX, " ")) return nil } diff --git a/cointop/table.go b/cointop/table.go index b78192a..691aaf6 100644 --- a/cointop/table.go +++ b/cointop/table.go @@ -12,7 +12,8 @@ import ( "github.com/miguelmota/cointop/pkg/table" ) -func (ct *Cointop) updateTable() error { +func (ct *Cointop) refreshTable() error { + ct.tableview.Clear() maxX, _ := ct.g.Size() ct.table = table.New().SetWidth(maxX) ct.table.AddCol("")