Clean code

This commit is contained in:
Unknown 2014-03-14 19:34:59 -04:00
parent 4470192c70
commit d50e18ab6d
3 changed files with 55 additions and 50 deletions

View file

@ -12,6 +12,10 @@ github.com/dchest/scrypt=
github.com/go-sql-driver/mysql=
github.com/libgit2/git2go=commit:054268a63418b03892bfd4c6a509a0294660074b
github.com/lunny/xorm=
github.com/speedata/gogit=
github.com/Unknwon/goconfig=
github.com/gogits/logs=
[res]
include=templates|public|conf

View file

@ -78,3 +78,53 @@ func TimeSince(then time.Time) string {
}
return then.String()
}
// Subtract deals with subtraction of all types of number.
func Subtract(left interface{}, right interface{}) interface{} {
var rleft, rright int64
var fleft, fright float64
var isInt bool = true
switch left.(type) {
case int:
rleft = int64(left.(int))
case int8:
rleft = int64(left.(int8))
case int16:
rleft = int64(left.(int16))
case int32:
rleft = int64(left.(int32))
case int64:
rleft = left.(int64)
case float32:
fleft = float64(left.(float32))
isInt = false
case float64:
fleft = left.(float64)
isInt = false
}
switch right.(type) {
case int:
rright = int64(right.(int))
case int8:
rright = int64(right.(int8))
case int16:
rright = int64(right.(int16))
case int32:
rright = int64(right.(int32))
case int64:
rright = right.(int64)
case float32:
fright = float64(left.(float32))
isInt = false
case float64:
fleft = left.(float64)
isInt = false
}
if isInt {
return rleft - rright
} else {
return fleft + float64(rleft) - (fright + float64(rright))
}
}

51
web.go
View file

@ -33,55 +33,6 @@ gogs web`,
Flags: []cli.Flag{},
}
func Subtract(left interface{}, right interface{}) interface{} {
var rleft, rright int64
var fleft, fright float64
var isInt bool = true
switch left.(type) {
case int:
rleft = int64(left.(int))
case int8:
rleft = int64(left.(int8))
case int16:
rleft = int64(left.(int16))
case int32:
rleft = int64(left.(int32))
case int64:
rleft = left.(int64)
case float32:
fleft = float64(left.(float32))
isInt = false
case float64:
fleft = left.(float64)
isInt = false
}
switch right.(type) {
case int:
rright = int64(right.(int))
case int8:
rright = int64(right.(int8))
case int16:
rright = int64(right.(int16))
case int32:
rright = int64(right.(int32))
case int64:
rright = right.(int64)
case float32:
fright = float64(left.(float32))
isInt = false
case float64:
fleft = left.(float64)
isInt = false
}
if isInt {
return rleft - rright
} else {
return fleft + float64(rleft) - (fright + float64(rright))
}
}
var AppHelpers template.FuncMap = map[string]interface{}{
"AppName": func() string {
return base.Cfg.MustValue("", "APP_NAME")
@ -90,7 +41,7 @@ var AppHelpers template.FuncMap = map[string]interface{}{
return APP_VER
},
"TimeSince": base.TimeSince,
"Subtract": Subtract,
"Subtract": base.Subtract,
}
func runWeb(*cli.Context) {