Merge pull request #90789 from hezhizhen/kubectl_cp

Refine extractFileSpec
This commit is contained in:
Kubernetes Prow Robot 2020-06-15 08:09:56 -07:00 committed by GitHub
commit 0535c11381
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -127,28 +127,33 @@ var (
)
func extractFileSpec(arg string) (fileSpec, error) {
if i := strings.Index(arg, ":"); i == -1 {
i := strings.Index(arg, ":")
if i == -1 {
return fileSpec{File: arg}, nil
} else if i > 0 {
file := arg[i+1:]
pod := arg[:i]
pieces := strings.Split(pod, "/")
if len(pieces) == 1 {
return fileSpec{
PodName: pieces[0],
File: file,
}, nil
}
if len(pieces) == 2 {
return fileSpec{
PodNamespace: pieces[0],
PodName: pieces[1],
File: file,
}, nil
}
}
// filespec starting with a semicolon is invalid
if i == 0 {
return fileSpec{}, errFileSpecDoesntMatchFormat
}
return fileSpec{}, errFileSpecDoesntMatchFormat
pod, file := arg[:i], arg[i+1:]
pieces := strings.Split(pod, "/")
switch len(pieces) {
case 1:
return fileSpec{
PodName: pieces[0],
File: file,
}, nil
case 2:
return fileSpec{
PodNamespace: pieces[0],
PodName: pieces[1],
File: file,
}, nil
default:
return fileSpec{}, errFileSpecDoesntMatchFormat
}
}
// Complete completes all the required options