Merge pull request #2879 from leyou240/master

remove Redundant type conversion and use strings.TrimSuffix to enhance readability
This commit is contained in:
Chris Lu 2022-04-06 00:02:19 -07:00 committed by GitHub
commit 49ecb8d11c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -12,11 +12,11 @@ import (
"time" "time"
) )
const slash = "/"
func ParseLocationName(remote string) (locationName string) { func ParseLocationName(remote string) (locationName string) {
if strings.HasSuffix(string(remote), "/") { remote = strings.TrimSuffix(remote, slash)
remote = remote[:len(remote)-1] parts := strings.SplitN(remote, slash, 2)
}
parts := strings.SplitN(string(remote), "/", 2)
if len(parts) >= 1 { if len(parts) >= 1 {
return parts[0] return parts[0]
} }
@ -25,35 +25,31 @@ func ParseLocationName(remote string) (locationName string) {
func parseBucketLocation(remote string) (loc *remote_pb.RemoteStorageLocation) { func parseBucketLocation(remote string) (loc *remote_pb.RemoteStorageLocation) {
loc = &remote_pb.RemoteStorageLocation{} loc = &remote_pb.RemoteStorageLocation{}
if strings.HasSuffix(string(remote), "/") { remote = strings.TrimSuffix(remote, slash)
remote = remote[:len(remote)-1] parts := strings.SplitN(remote, slash, 3)
}
parts := strings.SplitN(string(remote), "/", 3)
if len(parts) >= 1 { if len(parts) >= 1 {
loc.Name = parts[0] loc.Name = parts[0]
} }
if len(parts) >= 2 { if len(parts) >= 2 {
loc.Bucket = parts[1] loc.Bucket = parts[1]
} }
loc.Path = string(remote[len(loc.Name)+1+len(loc.Bucket):]) loc.Path = remote[len(loc.Name)+1+len(loc.Bucket):]
if loc.Path == "" { if loc.Path == "" {
loc.Path = "/" loc.Path = slash
} }
return return
} }
func parseNoBucketLocation(remote string) (loc *remote_pb.RemoteStorageLocation) { func parseNoBucketLocation(remote string) (loc *remote_pb.RemoteStorageLocation) {
loc = &remote_pb.RemoteStorageLocation{} loc = &remote_pb.RemoteStorageLocation{}
if strings.HasSuffix(string(remote), "/") { remote = strings.TrimSuffix(remote, slash)
remote = remote[:len(remote)-1] parts := strings.SplitN(remote, slash, 2)
}
parts := strings.SplitN(string(remote), "/", 2)
if len(parts) >= 1 { if len(parts) >= 1 {
loc.Name = parts[0] loc.Name = parts[0]
} }
loc.Path = string(remote[len(loc.Name):]) loc.Path = remote[len(loc.Name):]
if loc.Path == "" { if loc.Path == "" {
loc.Path = "/" loc.Path = slash
} }
return return
} }