本文整理汇总了Golang中github.com/concourse/fly/ui.TableCell类的典型用法代码示例。如果您正苦于以下问题:Golang TableCell类的具体用法?Golang TableCell怎么用?Golang TableCell使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TableCell类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: populateTimeCells
func populateTimeCells(startTime time.Time, endTime time.Time) (ui.TableCell, ui.TableCell, ui.TableCell) {
var startTimeCell ui.TableCell
var endTimeCell ui.TableCell
var durationCell ui.TableCell
startTime = startTime.Local()
endTime = endTime.Local()
zeroTime := time.Unix(0, 0)
if startTime == zeroTime {
startTimeCell.Contents = "n/a"
} else {
startTimeCell.Contents = startTime.Format(timeDateLayout)
}
if endTime == zeroTime {
endTimeCell.Contents = "n/a"
durationCell.Contents = fmt.Sprintf("%v+", roundSecondsOffDuration(time.Since(startTime)))
} else {
endTimeCell.Contents = endTime.Format(timeDateLayout)
durationCell.Contents = endTime.Sub(startTime).String()
}
if startTime == zeroTime && endTime == zeroTime {
durationCell.Contents = "n/a"
}
return startTimeCell, endTimeCell, durationCell
}
示例2: stringOrNone
func stringOrNone(str string) ui.TableCell {
var column ui.TableCell
if len(str) == 0 {
column.Contents = "none"
column.Color = color.New(color.Faint)
} else {
column.Contents = str
}
return column
}
示例3: buildIDOrNone
func buildIDOrNone(id int) ui.TableCell {
var column ui.TableCell
if id == 0 {
column.Contents = "none"
column.Color = color.New(color.Faint)
} else {
column.Contents = strconv.Itoa(id)
}
return column
}
示例4: stringOrDefault
func stringOrDefault(containerType string, def ...string) ui.TableCell {
var column ui.TableCell
column.Contents = containerType
if column.Contents == "" || column.Contents == "[]" {
if len(def) == 0 {
column.Contents = "none"
column.Color = color.New(color.Faint)
} else {
column.Contents = def[0]
}
}
return column
}
示例5: Execute
func (command *PipelinesCommand) Execute([]string) error {
client, err := rc.TargetClient(Fly.Target)
if err != nil {
return err
}
err = rc.ValidateClient(client, Fly.Target)
if err != nil {
return err
}
pipelines, err := client.ListPipelines()
if err != nil {
return err
}
table := ui.Table{
Headers: ui.TableRow{
{Contents: "name", Color: color.New(color.Bold)},
{Contents: "paused", Color: color.New(color.Bold)},
},
}
for _, p := range pipelines {
var pausedColumn ui.TableCell
if p.Paused {
pausedColumn.Contents = "yes"
pausedColumn.Color = color.New(color.FgCyan)
} else {
pausedColumn.Contents = "no"
}
table.Data = append(table.Data, []ui.TableCell{
{Contents: p.Name},
pausedColumn,
})
}
return table.Render(os.Stdout)
}
示例6: Execute
func (command *PipelinesCommand) Execute([]string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
return nil
}
client := concourse.NewClient(connection)
pipelines, err := client.ListPipelines()
if err != nil {
log.Fatalln(err)
}
table := ui.Table{
Headers: ui.TableRow{
{Contents: "name", Color: color.New(color.Bold)},
{Contents: "paused", Color: color.New(color.Bold)},
},
}
for _, p := range pipelines {
var pausedColumn ui.TableCell
if p.Paused {
pausedColumn.Contents = "yes"
pausedColumn.Color = color.New(color.FgCyan)
} else {
pausedColumn.Contents = "no"
}
table.Data = append(table.Data, []ui.TableCell{
{Contents: p.Name},
pausedColumn,
})
}
return table.Render(os.Stdout)
}
示例7: Execute
func (command *BuildsCommand) Execute([]string) error {
client, err := rc.TargetClient(Fly.Target)
if err != nil {
return err
}
err = rc.ValidateClient(client, Fly.Target)
if err != nil {
return err
}
page := concourse.Page{Limit: command.Count}
var builds []atc.Build
if command.Job.PipelineName != "" && command.Job.JobName != "" {
var found bool
builds, _, found, err = client.JobBuilds(
command.Job.PipelineName,
command.Job.JobName,
page,
)
if err != nil {
return err
}
if !found {
displayhelpers.Failf("pipeline/job not found")
}
} else {
builds, _, err = client.Builds(page)
if err != nil {
return err
}
}
table := ui.Table{
Headers: ui.TableRow{
{Contents: "id", Color: color.New(color.Bold)},
{Contents: "pipeline/job", Color: color.New(color.Bold)},
{Contents: "build", Color: color.New(color.Bold)},
{Contents: "status", Color: color.New(color.Bold)},
{Contents: "start", Color: color.New(color.Bold)},
{Contents: "end", Color: color.New(color.Bold)},
{Contents: "duration", Color: color.New(color.Bold)},
},
}
var rangeUntil int
if command.Count < len(builds) {
rangeUntil = command.Count
} else {
rangeUntil = len(builds)
}
for _, b := range builds[:rangeUntil] {
startTimeCell, endTimeCell, durationCell := populateTimeCells(time.Unix(b.StartTime, 0), time.Unix(b.EndTime, 0))
var pipelineJobCell, buildCell ui.TableCell
if b.PipelineName == "" {
pipelineJobCell.Contents = "one-off"
buildCell.Contents = "n/a"
} else {
pipelineJobCell.Contents = fmt.Sprintf("%s/%s", b.PipelineName, b.JobName)
buildCell.Contents = b.Name
}
var statusCell ui.TableCell
statusCell.Contents = b.Status
switch b.Status {
case "pending":
statusCell.Color = ui.PendingColor
case "started":
statusCell.Color = ui.StartedColor
case "succeeded":
statusCell.Color = ui.SucceededColor
case "failed":
statusCell.Color = ui.FailedColor
case "errored":
statusCell.Color = ui.ErroredColor
case "aborted":
statusCell.Color = ui.AbortedColor
case "paused":
statusCell.Color = ui.PausedColor
}
table.Data = append(table.Data, []ui.TableCell{
{Contents: strconv.Itoa(b.ID)},
pipelineJobCell,
buildCell,
statusCell,
startTimeCell,
endTimeCell,
durationCell,
})
}
return table.Render(os.Stdout)
}