Some fixes
This commit is contained in:
parent
5a2f3f98ac
commit
5927b657f9
5 changed files with 72 additions and 26 deletions
49
issue.go
49
issue.go
|
|
@ -2,6 +2,7 @@ package jkl
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"log"
|
||||
"text/template"
|
||||
)
|
||||
|
|
@ -35,16 +36,41 @@ type Status struct {
|
|||
Name string
|
||||
}
|
||||
|
||||
type Fields struct {
|
||||
*IssueType `json:"issuetype,omitempty"`
|
||||
Assignee *Author `json:",omitempty"`
|
||||
Project *Project `json:"project,omitempty"`
|
||||
Summary string `json:"summary,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Comment *CommentColl `json:"comment,omitempty"`
|
||||
Parent *Issue `json:",omitempty"`
|
||||
Status *Status `json:",omitempty"`
|
||||
type TimeTracking struct {
|
||||
OriginalEstimateSeconds int
|
||||
RemainingEstimateSeconds int
|
||||
}
|
||||
|
||||
type Fields struct {
|
||||
*IssueType `json:"issuetype,omitempty"`
|
||||
Assignee *Author `json:",omitempty"`
|
||||
Project *Project `json:"project,omitempty"`
|
||||
Summary string `json:"summary,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Comment *CommentColl `json:"comment,omitempty"`
|
||||
Parent *Issue `json:",omitempty"`
|
||||
Status *Status `json:",omitempty"`
|
||||
TimeTracking *TimeTracking `json:"timetracking,omitempty"`
|
||||
}
|
||||
|
||||
func (f *Fields) PrettyRemaining() string {
|
||||
return PrettySeconds(f.TimeTracking.RemainingEstimateSeconds)
|
||||
}
|
||||
|
||||
func (f *Fields) PrettyOriginalEstimate() string {
|
||||
return PrettySeconds(f.TimeTracking.OriginalEstimateSeconds)
|
||||
}
|
||||
|
||||
func PrettySeconds(seconds int) string {
|
||||
//This works because it's an integer division.
|
||||
days := seconds / 3600 / 8
|
||||
hours := seconds/3600 - (days * 8)
|
||||
minutes := (seconds - (hours * 3600) - (days * 8 * 3600)) / 60
|
||||
seconds = (seconds - (hours * 3600) - (minutes * 60) - (days * 8 * 3600))
|
||||
|
||||
return fmt.Sprintf("%dd %2dh %2dm %2ds", days, hours, minutes, seconds)
|
||||
}
|
||||
|
||||
type Issue struct {
|
||||
Key string `json:"key,omitempty"`
|
||||
Fields *Fields `json:"fields"`
|
||||
|
|
@ -68,8 +94,9 @@ var commentTemplate = `{{if .Fields.Comment }}{{range .Fields.Comment.Comments}}
|
|||
{{end}}{{end}}`
|
||||
|
||||
var issueTmplTxt = "\x1b[1m{{.Key}}\x1b[0m\t{{if .Fields.IssueType}}[{{.Fields.IssueType.Name}}]{{end}}\t{{.Fields.Summary}}\n\n" +
|
||||
"\x1b[1mStatus\x1b[0m:\t {{.Fields.Status.Name}}\n" +
|
||||
"\x1b[1mAssignee:\x1b[0m\t{{.Fields.Assignee.Name}}\n\n" +
|
||||
"{{if .Fields.Status}}\x1b[1mStatus\x1b[0m:\t {{.Fields.Status.Name}}\n{{end}}" +
|
||||
"{{if .Fields.Assignee}}\x1b[1mAssignee:\x1b[0m\t{{.Fields.Assignee.Name}}\n{{end}}\n" +
|
||||
"\x1b[1mTime Remaining/Original Estimate:\x1b[0m\t{{.Fields.PrettyRemaining}} / {{.Fields.PrettyOriginalEstimate}}\n\n" +
|
||||
"\x1b[1mDescription:\x1b[0m {{.Fields.Description}} \n\n" +
|
||||
"\x1b[1mComments:\x1b[0m\n\n" + commentTemplate
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue