Initial commit
This commit is contained in:
commit
31951b1561
|
@ -0,0 +1,13 @@
|
|||
# Cache
|
||||
/.cache
|
||||
|
||||
# DotFiles
|
||||
/.env
|
||||
/.env.*
|
||||
/*.env
|
||||
|
||||
# Bin
|
||||
*.exe
|
||||
*.exe~
|
||||
*.out
|
||||
/dist/
|
|
@ -0,0 +1,26 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
/*
|
||||
This function checks for an error.
|
||||
If the error isn't nil it return true and print error otherwise false.
|
||||
|
||||
err := errors.New("Test Error")
|
||||
if common.CheckErr(err, "example error") {
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("No error was found!")
|
||||
*/
|
||||
func CheckErr(err error, trace string) bool {
|
||||
if err != nil {
|
||||
Log.WithFields(logrus.Fields{
|
||||
"trace": trace,
|
||||
}).Error(err)
|
||||
}
|
||||
|
||||
return err != nil
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCheckErrTrue(T *testing.T) {
|
||||
err := errors.New("Test")
|
||||
e := CheckErr(err, "test err")
|
||||
if e != true {
|
||||
T.Error(e)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCheckErrFalse(T *testing.T) {
|
||||
e := CheckErr(nil, "test err")
|
||||
if e != false {
|
||||
T.Error(e)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
/*
|
||||
Info:
|
||||
common.Log.Info("Info")
|
||||
|
||||
Debug:
|
||||
common.Log.Debug("Debug")
|
||||
|
||||
Error:
|
||||
common.Log.Error("Error")
|
||||
|
||||
Warn:
|
||||
common.Log.Warn("Warn")
|
||||
*/
|
||||
var Log = &logrus.Logger{
|
||||
Out: os.Stdout,
|
||||
Formatter: new(logrus.TextFormatter),
|
||||
Hooks: make(logrus.LevelHooks),
|
||||
Level: logrus.InfoLevel,
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
package common
|
||||
|
||||
// TODO:
|
||||
func Uptime() {
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package convert
|
||||
|
||||
func Round(val float64) int {
|
||||
if val < 0 {
|
||||
return int(val - 1.0)
|
||||
}
|
||||
|
||||
return int(val)
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
package convert
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
// FIXME:
|
||||
func Seconds(s time.Duration) string {
|
||||
hours := Round(s.Hours())
|
||||
minutes := Round(s.Minutes())
|
||||
seconds := Round(s.Seconds())
|
||||
|
||||
hours, days := HoursToDays(hours)
|
||||
days, months := DaysToMonths(days)
|
||||
months, years := MonthsToYears(months)
|
||||
|
||||
var format string
|
||||
|
||||
if years > 0 {
|
||||
format += strconv.Itoa(years) + " years "
|
||||
months -= years * 12
|
||||
}
|
||||
|
||||
if months > 0 {
|
||||
format += strconv.Itoa(months) + " months "
|
||||
days -= months * 30
|
||||
}
|
||||
|
||||
if days > 0 {
|
||||
format += strconv.Itoa(days) + " days "
|
||||
hours -= days * 24
|
||||
}
|
||||
|
||||
if hours > 0 {
|
||||
format += strconv.Itoa(hours) + " hours "
|
||||
minutes -= hours * 24
|
||||
}
|
||||
|
||||
if minutes > 0 {
|
||||
format += strconv.Itoa(minutes) + " minutes "
|
||||
seconds -= minutes * 60
|
||||
}
|
||||
|
||||
if seconds > 0 {
|
||||
format += strconv.Itoa(seconds) + " seconds"
|
||||
}
|
||||
|
||||
return format
|
||||
}
|
||||
|
||||
func HoursToDays(hours int) (int, int) {
|
||||
var days int
|
||||
|
||||
for hours/24 > 0 {
|
||||
days++
|
||||
hours -= 24
|
||||
}
|
||||
|
||||
return hours, days
|
||||
}
|
||||
|
||||
func DaysToMonths(days int) (int, int) {
|
||||
var months int
|
||||
|
||||
for days/30 > 0 {
|
||||
months++
|
||||
days -= 30
|
||||
}
|
||||
|
||||
return days, months
|
||||
}
|
||||
|
||||
func MonthsToYears(months int) (int, int) {
|
||||
var years int
|
||||
|
||||
for months/12 > 0 {
|
||||
years++
|
||||
months -= 12
|
||||
}
|
||||
|
||||
return months, years
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package convert
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestSeconds(t *testing.T) {
|
||||
d, err := time.ParseDuration("48h")
|
||||
t.Error("1", err)
|
||||
out := Seconds(d)
|
||||
t.Error("2", out)
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
module github.com/MedzikUser/go-utils
|
||||
|
||||
go 1.16
|
||||
|
||||
require github.com/sirupsen/logrus v1.8.1
|
|
@ -0,0 +1,10 @@
|
|||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
|
||||
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
|
||||
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037 h1:YyJpGZS1sBuBCzLAR1VEpK193GlqGZbnPFnPV/5Rsb4=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
Loading…
Reference in New Issue