pkg/utils: Add function to parse the user-specified release string

https://github.com/containers/toolbox/pull/318
This commit is contained in:
Harry Míchal 2020-05-11 15:50:26 +02:00 committed by Debarshi Ray
parent 9e2825524a
commit 43082145a9
1 changed files with 22 additions and 0 deletions

View File

@ -24,6 +24,7 @@ import (
"os/user"
"regexp"
"sort"
"strconv"
"strings"
"syscall"
@ -269,6 +270,27 @@ func ShortID(id string) string {
return id
}
func ParseRelease(str string) (string, error) {
var release string
if strings.HasPrefix(str, "F") || strings.HasPrefix(str, "f") {
release = str[1:]
} else {
release = str
}
releaseN, err := strconv.Atoi(release)
if err != nil {
return "", err
}
if releaseN <= 0 {
return "", errors.New("release must be a positive integer")
}
return release, nil
}
// PathExists wraps around os.Stat providing a nice interface for checking an existence of a path.
func PathExists(path string) bool {
if _, err := os.Stat(path); !os.IsNotExist(err) {