diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/base/tool.go | 9 | ||||
-rw-r--r-- | modules/convert/convert.go | 6 | ||||
-rw-r--r-- | modules/git/repo.go | 21 | ||||
-rw-r--r-- | modules/ssh/ssh.go | 5 | ||||
-rw-r--r-- | modules/util/compare.go | 23 | ||||
-rw-r--r-- | modules/util/copy.go | 20 |
6 files changed, 58 insertions, 26 deletions
diff --git a/modules/base/tool.go b/modules/base/tool.go index 00b13f76c7..7ac572b85b 100644 --- a/modules/base/tool.go +++ b/modules/base/tool.go @@ -26,7 +26,6 @@ import ( "code.gitea.io/gitea/modules/setting" "github.com/dustin/go-humanize" - "github.com/unknwon/com" ) // EncodeMD5 encodes string to md5 hex value. @@ -86,8 +85,8 @@ func VerifyTimeLimitCode(data string, minutes int, code string) bool { // split code start := code[:12] lives := code[12:18] - if d, err := com.StrTo(lives).Int(); err == nil { - minutes = d + if d, err := strconv.ParseInt(lives, 10, 0); err == nil { + minutes = int(d) } // right active code @@ -131,7 +130,7 @@ func CreateTimeLimitCode(data string, minutes int, startInf interface{}) string // create sha1 encode string sh := sha1.New() - _, _ = sh.Write([]byte(data + setting.SecretKey + startStr + endStr + com.ToStr(minutes))) + _, _ = sh.Write([]byte(fmt.Sprintf("%s%s%s%s%d", data, setting.SecretKey, startStr, endStr, minutes))) encoded := hex.EncodeToString(sh.Sum(nil)) code := fmt.Sprintf("%s%06d%s", startStr, minutes, encoded) @@ -223,7 +222,7 @@ func TruncateString(str string, limit int) string { func StringsToInt64s(strs []string) ([]int64, error) { ints := make([]int64, len(strs)) for i := range strs { - n, err := com.StrTo(strs[i]).Int64() + n, err := strconv.ParseInt(strs[i], 10, 64) if err != nil { return ints, err } diff --git a/modules/convert/convert.go b/modules/convert/convert.go index 63dd072fc4..109931dbc3 100644 --- a/modules/convert/convert.go +++ b/modules/convert/convert.go @@ -17,8 +17,6 @@ import ( api "code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/services/webhook" - - "github.com/unknwon/com" ) // ToEmail convert models.EmailAddress to api.Email @@ -169,7 +167,7 @@ func ToPublicKey(apiLink string, key *models.PublicKey) *api.PublicKey { return &api.PublicKey{ ID: key.ID, Key: key.Content, - URL: apiLink + com.ToStr(key.ID), + URL: fmt.Sprintf("%s%d", apiLink, key.ID), Title: key.Name, Fingerprint: key.Fingerprint, Created: key.CreatedUnix.AsTime(), @@ -263,7 +261,7 @@ func ToDeployKey(apiLink string, key *models.DeployKey) *api.DeployKey { KeyID: key.KeyID, Key: key.Content, Fingerprint: key.Fingerprint, - URL: apiLink + com.ToStr(key.ID), + URL: fmt.Sprintf("%s%d", apiLink, key.ID), Title: key.Name, Created: key.CreatedUnix.AsTime(), ReadOnly: key.Mode == models.AccessModeRead, // All deploy keys are read-only. diff --git a/modules/git/repo.go b/modules/git/repo.go index e824dcc3f2..515899ab04 100644 --- a/modules/git/repo.go +++ b/modules/git/repo.go @@ -15,8 +15,6 @@ import ( "strconv" "strings" "time" - - "github.com/unknwon/com" ) // GPGSettings represents the default GPG settings for this repository @@ -309,21 +307,24 @@ func parseSize(objects string) *CountObject { for _, line := range strings.Split(objects, "\n") { switch { case strings.HasPrefix(line, statCount): - repoSize.Count = com.StrTo(line[7:]).MustInt64() + repoSize.Count, _ = strconv.ParseInt(line[7:], 10, 64) case strings.HasPrefix(line, statSize): - repoSize.Size = com.StrTo(line[6:]).MustInt64() * 1024 + repoSize.Size, _ = strconv.ParseInt(line[6:], 10, 64) + repoSize.Size *= 1024 case strings.HasPrefix(line, statInpack): - repoSize.InPack = com.StrTo(line[9:]).MustInt64() + repoSize.InPack, _ = strconv.ParseInt(line[9:], 10, 64) case strings.HasPrefix(line, statPacks): - repoSize.Packs = com.StrTo(line[7:]).MustInt64() + repoSize.Packs, _ = strconv.ParseInt(line[7:], 10, 64) case strings.HasPrefix(line, statSizePack): - repoSize.SizePack = com.StrTo(line[11:]).MustInt64() * 1024 + repoSize.Count, _ = strconv.ParseInt(line[11:], 10, 64) + repoSize.Count *= 1024 case strings.HasPrefix(line, statPrunePackage): - repoSize.PrunePack = com.StrTo(line[16:]).MustInt64() + repoSize.PrunePack, _ = strconv.ParseInt(line[16:], 10, 64) case strings.HasPrefix(line, statGarbage): - repoSize.Garbage = com.StrTo(line[9:]).MustInt64() + repoSize.Garbage, _ = strconv.ParseInt(line[9:], 10, 64) case strings.HasPrefix(line, statSizeGarbage): - repoSize.SizeGarbage = com.StrTo(line[14:]).MustInt64() * 1024 + repoSize.SizeGarbage, _ = strconv.ParseInt(line[14:], 10, 64) + repoSize.SizeGarbage *= 1024 } } return repoSize diff --git a/modules/ssh/ssh.go b/modules/ssh/ssh.go index 4ba52d5653..2b7fd593b5 100644 --- a/modules/ssh/ssh.go +++ b/modules/ssh/ssh.go @@ -25,7 +25,6 @@ import ( "code.gitea.io/gitea/modules/util" "github.com/gliderlabs/ssh" - "github.com/unknwon/com" gossh "golang.org/x/crypto/ssh" ) @@ -58,13 +57,13 @@ func getExitStatusFromError(err error) int { } func sessionHandler(session ssh.Session) { - keyID := session.Context().Value(giteaKeyID).(int64) + keyID := fmt.Sprintf("%d", session.Context().Value(giteaKeyID).(int64)) command := session.RawCommand() log.Trace("SSH: Payload: %v", command) - args := []string{"serv", "key-" + com.ToStr(keyID), "--config=" + setting.CustomConf} + args := []string{"serv", "key-" + keyID, "--config=" + setting.CustomConf} log.Trace("SSH: Arguments: %v", args) cmd := exec.Command(setting.AppPath, args...) cmd.Env = append( diff --git a/modules/util/compare.go b/modules/util/compare.go index d4f77aed3b..cd9ba0d91c 100644 --- a/modules/util/compare.go +++ b/modules/util/compare.go @@ -4,7 +4,10 @@ package util -import "sort" +import ( + "sort" + "strings" +) // Int64Slice attaches the methods of Interface to []int64, sorting in increasing order. type Int64Slice []int64 @@ -36,10 +39,22 @@ func ExistsInSlice(target string, slice []string) bool { } // IsStringInSlice sequential searches if string exists in slice. -func IsStringInSlice(target string, slice []string) bool { +func IsStringInSlice(target string, slice []string, insensitive ...bool) bool { + caseInsensitive := false + if len(insensitive) != 0 && insensitive[0] { + caseInsensitive = true + target = strings.ToLower(target) + } + for i := 0; i < len(slice); i++ { - if slice[i] == target { - return true + if caseInsensitive { + if strings.ToLower(slice[i]) == target { + return true + } + } else { + if slice[i] == target { + return true + } } } return false diff --git a/modules/util/copy.go b/modules/util/copy.go new file mode 100644 index 0000000000..46765849dc --- /dev/null +++ b/modules/util/copy.go @@ -0,0 +1,20 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package util + +import ( + "github.com/unknwon/com" +) + +// CopyFile copies file from source to target path. +func CopyFile(src, dest string) error { + return com.Copy(src, dest) +} + +// CopyDir copy files recursively from source to target directory. +// It returns error when error occurs in underlying functions. +func CopyDir(srcPath, destPath string) error { + return com.CopyDir(srcPath, destPath) +} |