Svilen Markov преди 5 месеца
родител
ревизия
61fd5481cc
променени са 1 файла, в които са добавени 17 реда и са изтрити 17 реда
  1. 17 17
      internal/glance/widget-custom-api.go

+ 17 - 17
internal/glance/widget-custom-api.go

@@ -100,7 +100,7 @@ func fetchAndParseCustomAPI(req *http.Request, tmpl *template.Template) (templat
 
 	var templateBuffer bytes.Buffer
 
-	data := CustomAPITemplateData{
+	data := customAPITemplateData{
 		JSON:     decoratedGJSONResult{gjson.Parse(body)},
 		Response: resp,
 	}
@@ -117,7 +117,7 @@ type decoratedGJSONResult struct {
 	gjson.Result
 }
 
-type CustomAPITemplateData struct {
+type customAPITemplateData struct {
 	JSON     decoratedGJSONResult
 	Response *http.Response
 }
@@ -180,28 +180,28 @@ var customAPITemplateFuncs = func() template.FuncMap {
 		"toInt": func(a float64) int64 {
 			return int64(a)
 		},
-		"mathexpr": func(left float64, op string, right float64) float64 {
-			if right == 0 {
+		"add": func(a, b float64) float64 {
+			return a + b
+		},
+		"sub": func(a, b float64) float64 {
+			return a - b
+		},
+		"mul": func(a, b float64) float64 {
+			return a * b
+		},
+		"div": func(a, b float64) float64 {
+			if b == 0 {
 				return 0
 			}
 
-			switch op {
-			case "+":
-				return left + right
-			case "-":
-				return left - right
-			case "*":
-				return left * right
-			case "/":
-				return left / right
-			default:
-				return 0
-			}
+			return a / b
 		},
 	}
 
 	for key, value := range globalTemplateFunctions {
-		funcs[key] = value
+		if _, exists := funcs[key]; !exists {
+			funcs[key] = value
+		}
 	}
 
 	return funcs