mirror of
https://github.com/Threnklyn/jira.git
synced 2026-05-19 04:33:28 +02:00
tweak getTemplate routine
This commit is contained in:
+12
-3
@@ -13,6 +13,7 @@ import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
@@ -169,7 +170,7 @@ func (c *Cli) makeRequest(req *http.Request) (resp *http.Response, err error) {
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (c *Cli) getTemplate(path string, dflt string) string {
|
||||
func (c *Cli) getTemplate(name string) string {
|
||||
if override, ok := c.opts["template"]; ok {
|
||||
if _, err := os.Stat(override); err == nil {
|
||||
return readFile(override)
|
||||
@@ -177,10 +178,18 @@ func (c *Cli) getTemplate(path string, dflt string) string {
|
||||
if file, err := FindClosestParentPath(fmt.Sprintf(".jira.d/templates/%s", override)); err == nil {
|
||||
return readFile(file)
|
||||
}
|
||||
if dflt, ok := all_templates[override]; ok {
|
||||
return dflt
|
||||
}
|
||||
}
|
||||
}
|
||||
if file, err := FindClosestParentPath(path); err != nil {
|
||||
return dflt
|
||||
if file, err := FindClosestParentPath(fmt.Sprintf(".jira.d/templates/%s", name)); err != nil {
|
||||
// create-bug etc are special, if we dont find it in the path
|
||||
// then just return a generic create template
|
||||
if strings.HasPrefix(name, "create-") {
|
||||
return all_templates["create"]
|
||||
}
|
||||
return all_templates[name]
|
||||
} else {
|
||||
return readFile(file)
|
||||
}
|
||||
|
||||
+12
-12
@@ -52,7 +52,7 @@ func (c *Cli) CmdFields() error {
|
||||
return err
|
||||
}
|
||||
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/fields", default_fields_template), data, nil)
|
||||
return runTemplate(c.getTemplate("fields"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdList() error {
|
||||
@@ -100,7 +100,7 @@ func (c *Cli) CmdList() error {
|
||||
return err
|
||||
}
|
||||
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/list", default_list_template), data, nil)
|
||||
return runTemplate(c.getTemplate("list"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdView(issue string) error {
|
||||
@@ -111,7 +111,7 @@ func (c *Cli) CmdView(issue string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/view", default_view_template), data, nil)
|
||||
return runTemplate(c.getTemplate("view"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdEdit(issue string) error {
|
||||
@@ -135,7 +135,7 @@ func (c *Cli) CmdEdit(issue string) error {
|
||||
issueData["overrides"] = c.opts
|
||||
|
||||
return c.editTemplate(
|
||||
c.getTemplate(".jira.d/templates/edit", default_edit_template),
|
||||
c.getTemplate("edit"),
|
||||
fmt.Sprintf("%s-edit-", issue),
|
||||
issueData,
|
||||
func(json string) error {
|
||||
@@ -166,7 +166,7 @@ func (c *Cli) CmdEditMeta(issue string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/editmeta", default_fields_template), data, nil)
|
||||
return runTemplate(c.getTemplate("editmeta"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdTransitionMeta(issue string) error {
|
||||
@@ -177,7 +177,7 @@ func (c *Cli) CmdTransitionMeta(issue string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/transmeta", default_fields_template), data, nil)
|
||||
return runTemplate(c.getTemplate("transmeta"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdIssueTypes(project string) error {
|
||||
@@ -188,7 +188,7 @@ func (c *Cli) CmdIssueTypes(project string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/issuetypes", default_issuetypes_template), data, nil)
|
||||
return runTemplate(c.getTemplate("issuetypes"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdCreateMeta(project string, issuetype string) error {
|
||||
@@ -205,7 +205,7 @@ func (c *Cli) CmdCreateMeta(project string, issuetype string) error {
|
||||
}
|
||||
}
|
||||
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/createmeta", default_fields_template), data, nil)
|
||||
return runTemplate(c.getTemplate("createmeta"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdTransitions(issue string) error {
|
||||
@@ -215,7 +215,7 @@ func (c *Cli) CmdTransitions(issue string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/transitions", default_transitions_template), data, nil)
|
||||
return runTemplate(c.getTemplate("transitions"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdCreate(project string, issuetype string) error {
|
||||
@@ -238,7 +238,7 @@ func (c *Cli) CmdCreate(project string, issuetype string) error {
|
||||
|
||||
sanitizedType := strings.ToLower(strings.Replace(issuetype, " ", "", -1))
|
||||
return c.editTemplate(
|
||||
c.getTemplate(fmt.Sprintf(".jira.d/templates/create-%s", sanitizedType), default_create_template),
|
||||
c.getTemplate(fmt.Sprintf("create-%s", sanitizedType)),
|
||||
fmt.Sprintf("create-%s-", sanitizedType),
|
||||
issueData,
|
||||
func(json string) error {
|
||||
@@ -277,7 +277,7 @@ func (c *Cli) CmdIssueLinkTypes() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return runTemplate(c.getTemplate(".jira.d/templates/issuelinktypes", default_fields_template), data, nil)
|
||||
return runTemplate(c.getTemplate("issuelinktypes"), data, nil)
|
||||
}
|
||||
|
||||
func (c *Cli) CmdBlocks(blocker string, issue string) error {
|
||||
@@ -473,7 +473,7 @@ func (c *Cli) CmdComment(issue string) error {
|
||||
return handlePost(json)
|
||||
} else {
|
||||
return c.editTemplate(
|
||||
c.getTemplate(".jira.d/templates/comment", default_comment_template),
|
||||
c.getTemplate("comment"),
|
||||
fmt.Sprintf("%s-create-", issue),
|
||||
map[string]interface{}{},
|
||||
handlePost,
|
||||
|
||||
+14
-9
@@ -1,17 +1,22 @@
|
||||
package cli
|
||||
|
||||
var all_templates = map[string]string{
|
||||
"fields": default_fields_template,
|
||||
"list": default_list_template,
|
||||
"view": default_view_template,
|
||||
"edit": default_edit_template,
|
||||
"transitions": default_transitions_template,
|
||||
"issuetypes": default_issuetypes_template,
|
||||
"create": default_create_template,
|
||||
"comment": default_comment_template,
|
||||
"debug": default_debug_template,
|
||||
"fields": default_debug_template,
|
||||
"editmeta": default_debug_template,
|
||||
"transmeta": default_debug_template,
|
||||
"createmeta": default_debug_template,
|
||||
"issuelinktypes": default_debug_template,
|
||||
"list": default_list_template,
|
||||
"view": default_view_template,
|
||||
"edit": default_edit_template,
|
||||
"transitions": default_transitions_template,
|
||||
"issuetypes": default_issuetypes_template,
|
||||
"create": default_create_template,
|
||||
"comment": default_comment_template,
|
||||
}
|
||||
|
||||
const default_fields_template = "{{ . | toJson}}\n"
|
||||
const default_debug_template = "{{ . | toJson}}\n"
|
||||
|
||||
const default_list_template = "{{ range .issues }}{{ .key | append \":\" | printf \"%-12s\"}} {{ .fields.summary }}\n{{ end }}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user