| @@ -343,24 +343,17 @@ func sortRepo(Result []map[string]interface{}, SortBy string, ascending bool) { | |||||
| orderBy = "num_watches" | orderBy = "num_watches" | ||||
| } | } | ||||
| sort.Slice(Result, func(i, j int) bool { | sort.Slice(Result, func(i, j int) bool { | ||||
| return getInt(Result[i][orderBy]) < getInt(Result[j][orderBy]) | |||||
| return getInt(Result[i][orderBy], orderBy) < getInt(Result[j][orderBy], orderBy) | |||||
| }) | }) | ||||
| } | } | ||||
| func getInt(tmp interface{}) int64 { | |||||
| switch tmp.(type) { | |||||
| case string: | |||||
| timeInt, err := strconv.ParseInt(tmp.(string), 10, 64) | |||||
| if err == nil { | |||||
| return timeInt | |||||
| } | |||||
| case int: | |||||
| return int64(tmp.(int)) | |||||
| case int64: | |||||
| return int64(tmp.(int64)) | |||||
| func getInt(tmp interface{}, orderBy string) int64 { | |||||
| timeInt, err := strconv.ParseInt(fmt.Sprint(tmp), 10, 64) | |||||
| if err == nil { | |||||
| return timeInt | |||||
| } else { | |||||
| log.Info("convert " + orderBy + " error type=" + fmt.Sprint(tmp)) | |||||
| } | } | ||||
| log.Info("convert err type=" + fmt.Sprint(tmp)) | |||||
| return -1 | return -1 | ||||
| } | } | ||||