From d0102b643a1b526acf03bd04993ec379d61ae07b Mon Sep 17 00:00:00 2001 From: Anand Sudhir Prayaga Date: Wed, 18 Jul 2018 23:55:39 +0200 Subject: [PATCH] add travis ci module close #245 --- _site/content/posts/modules/travisci.md | 50 +++++ _site/static/imgs/modules/travisci.png | Bin 0 -> 45079 bytes .../hyde-hyde/layouts/partials/sidebar.html | 1 + docs/404.html | 1 + docs/categories/index.html | 1 + docs/imgs/modules/travisci.png | Bin 0 -> 45079 bytes docs/index.html | 1 + docs/index.xml | 17 +- .../posts/configuration/attributes/index.html | 1 + docs/posts/configuration/index.html | 1 + docs/posts/configuration/iterm2/index.html | 1 + docs/posts/glossary/index.html | 1 + docs/posts/index.html | 8 + docs/posts/index.xml | 17 +- docs/posts/installation/index.html | 1 + docs/posts/modules/bamboohr/index.html | 1 + docs/posts/modules/circleci/index.html | 1 + docs/posts/modules/clocks/index.html | 1 + docs/posts/modules/cmdrunner/index.html | 1 + .../cryptocurrencies/bittrex/index.html | 1 + .../cryptocurrencies/blockfolio/index.html | 1 + .../cryptocurrencies/cryptolive/index.html | 1 + docs/posts/modules/gcal/index.html | 1 + docs/posts/modules/gerrit/index.html | 1 + docs/posts/modules/git/index.html | 1 + docs/posts/modules/github/index.html | 1 + docs/posts/modules/gitlab/index.html | 1 + docs/posts/modules/gspreadsheet/index.html | 1 + docs/posts/modules/index.html | 1 + docs/posts/modules/ipapi/index.html | 1 + docs/posts/modules/ipinfo/index.html | 1 + docs/posts/modules/jenkins/index.html | 1 + docs/posts/modules/jira/index.html | 1 + docs/posts/modules/logger/index.html | 1 + docs/posts/modules/newrelic/index.html | 1 + docs/posts/modules/opsgenie/index.html | 1 + docs/posts/modules/power/index.html | 1 + docs/posts/modules/prettyweather/index.html | 1 + docs/posts/modules/security/index.html | 1 + docs/posts/modules/textfile/index.html | 1 + docs/posts/modules/todo/index.html | 1 + docs/posts/modules/todoist/index.html | 1 + docs/posts/modules/travisci/index.html | 187 ++++++++++++++++++ docs/posts/modules/trello/index.html | 1 + docs/posts/modules/weather/index.html | 1 + docs/posts/overview/index.html | 1 + docs/sitemap.xml | 9 +- docs/tags/index.html | 1 + travisci/client.go | 84 ++++++++ travisci/travis.go | 25 +++ travisci/widget.go | 82 ++++++++ wtf.go | 3 + 52 files changed, 516 insertions(+), 6 deletions(-) create mode 100644 _site/content/posts/modules/travisci.md create mode 100644 _site/static/imgs/modules/travisci.png create mode 100644 docs/imgs/modules/travisci.png create mode 100644 docs/posts/modules/travisci/index.html create mode 100644 travisci/client.go create mode 100644 travisci/travis.go create mode 100644 travisci/widget.go diff --git a/_site/content/posts/modules/travisci.md b/_site/content/posts/modules/travisci.md new file mode 100644 index 00000000..b2f21fbc --- /dev/null +++ b/_site/content/posts/modules/travisci.md @@ -0,0 +1,50 @@ +--- +title: "TravisCI" +date: 2018-07-18T14:36:08-04:00 +draft: false +--- + +Displays build information for your Travis CI account. + +travisci screenshot + +## Source Code + +```bash +wtf/travisci/ +``` + +## Required ENV Variables + +Key: `WTF_TRAVIS_API_TOKEN`
+Value: Your Travis CI API access token. + +## Keyboard Commands + +None. + +## Configuration + +```yaml +travisci: + enabled: true + position: + top: 4 + left: 1 + height: 1 + width: 2 + refreshInterval: 900 +``` + +### Attributes + +`enabled`
+Determines whether or not this module is executed and if its data displayed onscreen.
+Values: `true`, `false`. + +`position`
+Defines where in the grid this module's widget will be displayed.
+ +`refreshInterval`
+How often, in seconds, this module will update its data.
+Values: A positive integer, `0..n`. diff --git a/_site/static/imgs/modules/travisci.png b/_site/static/imgs/modules/travisci.png new file mode 100644 index 0000000000000000000000000000000000000000..eb423fa9ddfe33fe9add09fc6ff08fec7edd2c32 GIT binary patch literal 45079 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 ayvOu!3MZNvSZ78Text File + diff --git a/docs/404.html b/docs/404.html index 19e488fb..ee6de015 100644 --- a/docs/404.html +++ b/docs/404.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/categories/index.html b/docs/categories/index.html index ba7b786a..db2efb7d 100644 --- a/docs/categories/index.html +++ b/docs/categories/index.html @@ -103,6 +103,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/imgs/modules/travisci.png b/docs/imgs/modules/travisci.png new file mode 100644 index 0000000000000000000000000000000000000000..eb423fa9ddfe33fe9add09fc6ff08fec7edd2c32 GIT binary patch literal 45079 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 ayvOu!3MZNvSZ78 + diff --git a/docs/index.xml b/docs/index.xml index b46704d6..8d2442ad 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -6,11 +6,24 @@ Recent content on WTF - A Terminal Dashboard Hugo -- gohugo.io en-us - Thu, 05 Jul 2018 22:55:55 -0300 + Wed, 18 Jul 2018 14:36:08 -0400 + + TravisCI + https://wtfutil.com/posts/modules/travisci/ + Wed, 18 Jul 2018 14:36:08 -0400 + + https://wtfutil.com/posts/modules/travisci/ + Displays build information for your Travis CI account. +Source Code wtf/travisci/ Required ENV Variables Key: WTF_TRAVIS_API_TOKEN Value: Your Travis CI API access token. +Keyboard Commands None. +Configuration travisci:enabled:trueposition:top:4left:1height:1width:2refreshInterval:900 Attributes enabled Determines whether or not this module is executed and if its data displayed onscreen. Values: true, false. +position Defines where in the grid this module&rsquo;s widget will be displayed. refreshInterval How often, in seconds, this module will update its data. + + Todoist https://wtfutil.com/posts/modules/todoist/ @@ -128,7 +141,7 @@ position Where in the grid this module&rsquo;s widget will be displayed. diff --git a/docs/posts/configuration/attributes/index.html b/docs/posts/configuration/attributes/index.html index af6dc359..126d33cb 100644 --- a/docs/posts/configuration/attributes/index.html +++ b/docs/posts/configuration/attributes/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/configuration/index.html b/docs/posts/configuration/index.html index 9ba7763b..e49c89d5 100644 --- a/docs/posts/configuration/index.html +++ b/docs/posts/configuration/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/configuration/iterm2/index.html b/docs/posts/configuration/iterm2/index.html index 86337b36..319ad5f7 100644 --- a/docs/posts/configuration/iterm2/index.html +++ b/docs/posts/configuration/iterm2/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/glossary/index.html b/docs/posts/glossary/index.html index 34ffb517..f1d9cee4 100644 --- a/docs/posts/glossary/index.html +++ b/docs/posts/glossary/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/index.html b/docs/posts/index.html index 0a45a14d..ba7b8a29 100644 --- a/docs/posts/index.html +++ b/docs/posts/index.html @@ -103,6 +103,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + @@ -121,6 +122,13 @@ height="0" width="0" style="display:none;visibility:hidden">

Posts

  • + + TravisCI + + + + +
  • Todoist diff --git a/docs/posts/index.xml b/docs/posts/index.xml index 5709ba56..cc5a9b48 100644 --- a/docs/posts/index.xml +++ b/docs/posts/index.xml @@ -6,11 +6,24 @@ Recent content in Posts on WTF - A Terminal Dashboard Hugo -- gohugo.io en-us - Thu, 05 Jul 2018 22:55:55 -0300 + Wed, 18 Jul 2018 14:36:08 -0400 + + TravisCI + https://wtfutil.com/posts/modules/travisci/ + Wed, 18 Jul 2018 14:36:08 -0400 + + https://wtfutil.com/posts/modules/travisci/ + Displays build information for your Travis CI account. +Source Code wtf/travisci/ Required ENV Variables Key: WTF_TRAVIS_API_TOKEN Value: Your Travis CI API access token. +Keyboard Commands None. +Configuration travisci:enabled:trueposition:top:4left:1height:1width:2refreshInterval:900 Attributes enabled Determines whether or not this module is executed and if its data displayed onscreen. Values: true, false. +position Defines where in the grid this module&rsquo;s widget will be displayed. refreshInterval How often, in seconds, this module will update its data. + + Todoist https://wtfutil.com/posts/modules/todoist/ @@ -128,7 +141,7 @@ position Where in the grid this module&rsquo;s widget will be displayed. diff --git a/docs/posts/installation/index.html b/docs/posts/installation/index.html index e3da4591..f97984e1 100644 --- a/docs/posts/installation/index.html +++ b/docs/posts/installation/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden">
  • +
diff --git a/docs/posts/modules/bamboohr/index.html b/docs/posts/modules/bamboohr/index.html index a81753b1..437c197a 100644 --- a/docs/posts/modules/bamboohr/index.html +++ b/docs/posts/modules/bamboohr/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/circleci/index.html b/docs/posts/modules/circleci/index.html index 21ccef72..1ad44416 100644 --- a/docs/posts/modules/circleci/index.html +++ b/docs/posts/modules/circleci/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/clocks/index.html b/docs/posts/modules/clocks/index.html index eda18040..eab939e3 100644 --- a/docs/posts/modules/clocks/index.html +++ b/docs/posts/modules/clocks/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/cmdrunner/index.html b/docs/posts/modules/cmdrunner/index.html index 65d36521..c11f9996 100644 --- a/docs/posts/modules/cmdrunner/index.html +++ b/docs/posts/modules/cmdrunner/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/cryptocurrencies/bittrex/index.html b/docs/posts/modules/cryptocurrencies/bittrex/index.html index d6fd094e..68d8658e 100644 --- a/docs/posts/modules/cryptocurrencies/bittrex/index.html +++ b/docs/posts/modules/cryptocurrencies/bittrex/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/cryptocurrencies/blockfolio/index.html b/docs/posts/modules/cryptocurrencies/blockfolio/index.html index 5320a885..5396e71d 100644 --- a/docs/posts/modules/cryptocurrencies/blockfolio/index.html +++ b/docs/posts/modules/cryptocurrencies/blockfolio/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/cryptocurrencies/cryptolive/index.html b/docs/posts/modules/cryptocurrencies/cryptolive/index.html index 149571ea..d24207f7 100644 --- a/docs/posts/modules/cryptocurrencies/cryptolive/index.html +++ b/docs/posts/modules/cryptocurrencies/cryptolive/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/gcal/index.html b/docs/posts/modules/gcal/index.html index db7d7927..ae76f40f 100644 --- a/docs/posts/modules/gcal/index.html +++ b/docs/posts/modules/gcal/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/gerrit/index.html b/docs/posts/modules/gerrit/index.html index 371ed832..d5cf8fee 100644 --- a/docs/posts/modules/gerrit/index.html +++ b/docs/posts/modules/gerrit/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/git/index.html b/docs/posts/modules/git/index.html index 9dbf14c8..bd1877a0 100644 --- a/docs/posts/modules/git/index.html +++ b/docs/posts/modules/git/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/github/index.html b/docs/posts/modules/github/index.html index 874a21d3..745d9573 100644 --- a/docs/posts/modules/github/index.html +++ b/docs/posts/modules/github/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/gitlab/index.html b/docs/posts/modules/gitlab/index.html index 0ce3cf25..9e0026fc 100644 --- a/docs/posts/modules/gitlab/index.html +++ b/docs/posts/modules/gitlab/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/gspreadsheet/index.html b/docs/posts/modules/gspreadsheet/index.html index 8abd7447..98981d92 100644 --- a/docs/posts/modules/gspreadsheet/index.html +++ b/docs/posts/modules/gspreadsheet/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/index.html b/docs/posts/modules/index.html index 465c33c1..5e47fd89 100644 --- a/docs/posts/modules/index.html +++ b/docs/posts/modules/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/ipapi/index.html b/docs/posts/modules/ipapi/index.html index 0687ff17..af1ead96 100644 --- a/docs/posts/modules/ipapi/index.html +++ b/docs/posts/modules/ipapi/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/ipinfo/index.html b/docs/posts/modules/ipinfo/index.html index 12b0b563..11c6dd47 100644 --- a/docs/posts/modules/ipinfo/index.html +++ b/docs/posts/modules/ipinfo/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/jenkins/index.html b/docs/posts/modules/jenkins/index.html index e83d2d32..e938715a 100644 --- a/docs/posts/modules/jenkins/index.html +++ b/docs/posts/modules/jenkins/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/jira/index.html b/docs/posts/modules/jira/index.html index 52c4bf55..8d253586 100644 --- a/docs/posts/modules/jira/index.html +++ b/docs/posts/modules/jira/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/logger/index.html b/docs/posts/modules/logger/index.html index 8be2231f..25589460 100644 --- a/docs/posts/modules/logger/index.html +++ b/docs/posts/modules/logger/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/newrelic/index.html b/docs/posts/modules/newrelic/index.html index a5505583..620682c7 100644 --- a/docs/posts/modules/newrelic/index.html +++ b/docs/posts/modules/newrelic/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/opsgenie/index.html b/docs/posts/modules/opsgenie/index.html index 1f0209d4..55e1cc52 100644 --- a/docs/posts/modules/opsgenie/index.html +++ b/docs/posts/modules/opsgenie/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/power/index.html b/docs/posts/modules/power/index.html index 49d92ccf..aafe2b73 100644 --- a/docs/posts/modules/power/index.html +++ b/docs/posts/modules/power/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/prettyweather/index.html b/docs/posts/modules/prettyweather/index.html index 7b29359c..fc88defa 100644 --- a/docs/posts/modules/prettyweather/index.html +++ b/docs/posts/modules/prettyweather/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/security/index.html b/docs/posts/modules/security/index.html index fea91832..e7a0c4f0 100644 --- a/docs/posts/modules/security/index.html +++ b/docs/posts/modules/security/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/textfile/index.html b/docs/posts/modules/textfile/index.html index 8542d0ae..8506d5b0 100644 --- a/docs/posts/modules/textfile/index.html +++ b/docs/posts/modules/textfile/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/todo/index.html b/docs/posts/modules/todo/index.html index 3eed5d63..c7baba9f 100644 --- a/docs/posts/modules/todo/index.html +++ b/docs/posts/modules/todo/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/todoist/index.html b/docs/posts/modules/todoist/index.html index 840b496d..8558afcb 100644 --- a/docs/posts/modules/todoist/index.html +++ b/docs/posts/modules/todoist/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/travisci/index.html b/docs/posts/modules/travisci/index.html new file mode 100644 index 00000000..4f2afdbd --- /dev/null +++ b/docs/posts/modules/travisci/index.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + +TravisCI | WTF - A Terminal Dashboard + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

TravisCI

+ +
+ +
+ + + +

Displays build information for your Travis CI account.

+ +

travisci screenshot

+ +

Source Code

+
wtf/travisci/
+

Required ENV Variables

+ +

Key: WTF_TRAVIS_API_TOKEN
+Value: Your Travis CI API access token.

+ +

Keyboard Commands

+ +

None.

+ +

Configuration

+
travisci:
+  enabled: true
+  position:
+    top: 4
+    left: 1
+    height: 1
+    width: 2
+  refreshInterval: 900
+

Attributes

+ +

enabled
+Determines whether or not this module is executed and if its data displayed onscreen.
+Values: true, false.

+ +

position
+Defines where in the grid this module’s widget will be displayed.

+ +

refreshInterval
+How often, in seconds, this module will update its data.
+Values: A positive integer, 0..n.

+ +
+ + +
+ + + + diff --git a/docs/posts/modules/trello/index.html b/docs/posts/modules/trello/index.html index a5bba26e..e8133aac 100644 --- a/docs/posts/modules/trello/index.html +++ b/docs/posts/modules/trello/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/modules/weather/index.html b/docs/posts/modules/weather/index.html index 92f65b80..54457351 100644 --- a/docs/posts/modules/weather/index.html +++ b/docs/posts/modules/weather/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/posts/overview/index.html b/docs/posts/overview/index.html index 474ae967..e3c52415 100644 --- a/docs/posts/overview/index.html +++ b/docs/posts/overview/index.html @@ -101,6 +101,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/docs/sitemap.xml b/docs/sitemap.xml index fbd256d7..1d9d59c7 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -2,6 +2,11 @@ + + https://wtfutil.com/posts/modules/travisci/ + 2018-07-18T14:36:08-04:00 + + https://wtfutil.com/posts/modules/todoist/ 2018-07-05T22:55:55-03:00 @@ -184,7 +189,7 @@ https://wtfutil.com/posts/ - 2018-07-05T22:55:55-03:00 + 2018-07-18T14:36:08-04:00 0 @@ -195,7 +200,7 @@ https://wtfutil.com/ - 2018-07-05T22:55:55-03:00 + 2018-07-18T14:36:08-04:00 0 diff --git a/docs/tags/index.html b/docs/tags/index.html index 02fc016b..0c53a0f7 100644 --- a/docs/tags/index.html +++ b/docs/tags/index.html @@ -103,6 +103,7 @@ height="0" width="0" style="display:none;visibility:hidden"> + diff --git a/travisci/client.go b/travisci/client.go new file mode 100644 index 00000000..a8ae8b79 --- /dev/null +++ b/travisci/client.go @@ -0,0 +1,84 @@ +package travisci + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "os" +) + +const APIEnvToken = "WTF_TRAVIS_API_TOKEN" + +func BuildsFor() (*Builds, error) { + builds := &Builds{} + + resp, err := travisRequest("builds") + if err != nil { + return builds, err + } + + parseJson(&builds, resp.Body) + + return builds, nil +} + +/* -------------------- Unexported Functions -------------------- */ + +var ( + travisAPIURL = &url.URL{Scheme: "https", Host: "api.travis-ci.org", Path: "/"} +) + +func travisRequest(path string) (*http.Response, error) { + params := url.Values{} + params.Add("limit", "10") + + url := travisAPIURL.ResolveReference(&url.URL{Path: path, RawQuery: params.Encode()}) + + req, err := http.NewRequest("GET", url.String(), nil) + req.Header.Add("Accept", "application/json") + req.Header.Add("Content-Type", "application/json") + req.Header.Add("Travis-API-Version", "3") + + bearer := fmt.Sprintf("token %s", apiToken()) + req.Header.Add("Authorization", bearer) + if err != nil { + return nil, err + } + + httpClient := &http.Client{} + resp, err := httpClient.Do(req) + if err != nil { + return nil, err + } + + if resp.StatusCode < 200 || resp.StatusCode > 299 { + return nil, fmt.Errorf(resp.Status) + } + + return resp, nil +} + +func apiToken() string { + return os.Getenv(APIEnvToken) +} + +func parseJson(obj interface{}, text io.Reader) { + jsonStream, err := ioutil.ReadAll(text) + if err != nil { + panic(err) + } + + decoder := json.NewDecoder(bytes.NewReader(jsonStream)) + + for { + if err := decoder.Decode(obj); err == io.EOF { + break + } else if err != nil { + panic(err) + } + } +} diff --git a/travisci/travis.go b/travisci/travis.go new file mode 100644 index 00000000..47f619e6 --- /dev/null +++ b/travisci/travis.go @@ -0,0 +1,25 @@ +package travisci + +type Builds struct { + Builds []Build `json:"builds"` +} + +type Build struct { + CreatedBy Owner `json:"created_by"` + Branch Branch `json:"branch"` + Number string `json:"number"` + Repository Repository `json:"repository"` + State string `json:"state"` +} + +type Owner struct { + Login string `json:"login"` +} + +type Branch struct { + Name string `json:"name"` +} + +type Repository struct { + Name string `json:"name"` +} diff --git a/travisci/widget.go b/travisci/widget.go new file mode 100644 index 00000000..d4d01b5d --- /dev/null +++ b/travisci/widget.go @@ -0,0 +1,82 @@ +package travisci + +import ( + "fmt" + "github.com/senorprogrammer/wtf/wtf" +) + +type Widget struct { + wtf.TextWidget +} + +func NewWidget() *Widget { + widget := Widget{ + TextWidget: wtf.NewTextWidget(" Travis CI", "travisci", false), + } + + return &widget +} + +/* -------------------- Exported Functions -------------------- */ + +func (widget *Widget) Refresh() { + if widget.Disabled() { + return + } + + builds, err := BuildsFor() + + widget.UpdateRefreshedAt() + + widget.View.SetTitle(fmt.Sprintf("%s - Builds", widget.Name)) + + var content string + if err != nil { + widget.View.SetWrap(true) + content = err.Error() + } else { + widget.View.SetWrap(false) + content = widget.contentFrom(builds) + } + + widget.View.SetText(content) +} + +/* -------------------- Unexported Functions -------------------- */ + +func (widget *Widget) contentFrom(builds *Builds) string { + var str string + for _, build := range builds.Builds { + str = str + fmt.Sprintf( + "[%s] %s-%s (%s) [white]%s\n", + buildColor(&build), + build.Repository.Name, + build.Number, + build.Branch.Name, + build.CreatedBy.Login, + ) + } + + return str +} + +func buildColor(build *Build) string { + switch build.State { + case "broken": + return "red" + case "failed": + return "red" + case "failing": + return "red" + case "pending": + return "yellow" + case "started": + return "yellow" + case "fixed": + return "green" + case "passed": + return "green" + default: + return "white" + } +} diff --git a/wtf.go b/wtf.go index 4d285251..efeac338 100644 --- a/wtf.go +++ b/wtf.go @@ -41,6 +41,7 @@ import ( "github.com/senorprogrammer/wtf/textfile" "github.com/senorprogrammer/wtf/todo" "github.com/senorprogrammer/wtf/todoist" + "github.com/senorprogrammer/wtf/travisci" "github.com/senorprogrammer/wtf/trello" "github.com/senorprogrammer/wtf/weatherservices/prettyweather" "github.com/senorprogrammer/wtf/weatherservices/weather" @@ -222,6 +223,8 @@ func addWidget(app *tview.Application, pages *tview.Pages, widgetName string) { Widgets = append(Widgets, todo.NewWidget(app, pages)) case "todoist": Widgets = append(Widgets, todoist.NewWidget(app, pages)) + case "travisci": + Widgets = append(Widgets, travisci.NewWidget()) case "trello": Widgets = append(Widgets, trello.NewWidget()) case "weather":