elasticsearch: support reversed index patterns

Now both [index-]pattern and pattern[-index] are supported
This commit is contained in:
Marcus Efraimsson
2018-07-26 21:39:02 +02:00
parent 7699451d94
commit ab8fa0de74
2 changed files with 53 additions and 9 deletions
+27 -8
View File
@@ -248,13 +248,28 @@ var datePatternReplacements = map[string]string{
func formatDate(t time.Time, pattern string) string {
var datePattern string
parts := strings.Split(strings.TrimLeft(pattern, "["), "]")
base := parts[0]
if len(parts) == 2 {
datePattern = parts[1]
} else {
datePattern = base
base = ""
base := ""
ltr := false
if strings.HasPrefix(pattern, "[") {
parts := strings.Split(strings.TrimLeft(pattern, "["), "]")
base = parts[0]
if len(parts) == 2 {
datePattern = parts[1]
} else {
datePattern = base
base = ""
}
ltr = true
} else if strings.HasSuffix(pattern, "]") {
parts := strings.Split(strings.TrimRight(pattern, "]"), "[")
datePattern = parts[0]
if len(parts) == 2 {
base = parts[1]
} else {
base = ""
}
ltr = false
}
formatted := t.Format(patternToLayout(datePattern))
@@ -293,7 +308,11 @@ func formatDate(t time.Time, pattern string) string {
formatted = strings.Replace(formatted, "<stdHourNoZero>", fmt.Sprintf("%d", t.Hour()), -1)
}
return base + formatted
if ltr {
return base + formatted
}
return formatted + base
}
func patternToLayout(pattern string) string {