optimize logic of adding/removing local file suffix
This commit is contained in:
parent
a16eb3dc04
commit
305447c1a0
@ -8,7 +8,6 @@ import (
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"gopkg.in/dutchcoders/goftp.v1"
|
||||
@ -34,12 +33,12 @@ func init() {
|
||||
flag.StringVar(&port, "o", "3031", "FTPS Server Port")
|
||||
flag.StringVar(&user, "u", "idte", "Username")
|
||||
flag.StringVar(&pswd, "p", "wistronTE2022", "Password")
|
||||
flag.StringVar(&loc, "L", "./", "Local Path")
|
||||
flag.StringVar(&rmt, "R", "/", "Remote Path")
|
||||
flag.StringVar(&loc, "L", "./", "Local Path (File)")
|
||||
flag.StringVar(&rmt, "R", "/", "Remote Path (Dir)")
|
||||
flag.StringVar(&act, "A", "list", "Action: list,upld,dnld")
|
||||
flag.StringVar(&suffix, "X", ".PENDING", "Temporary filename suffix while uploading")
|
||||
flag.IntVar(&intrv, "I", 10, "Retry Interval (Seconds)")
|
||||
flag.IntVar(&retry, "T", 5, "Retry Times")
|
||||
flag.StringVar(&suffix, "x", ".PENDING", "Temporary Suffix for Uploading")
|
||||
flag.IntVar(&intrv, "n", 10, "Retry Interval (Seconds)")
|
||||
flag.IntVar(&retry, "t", 5, "Retry Times")
|
||||
flag.Parse()
|
||||
}
|
||||
|
||||
@ -158,9 +157,15 @@ func _Upload(local, remote string) {
|
||||
if suffix != "" {
|
||||
err = os.Rename(local, local+suffix)
|
||||
if err != nil {
|
||||
log.Printf("[ERR] Rename Local File (Add Suffix): %s\r\n", strings.ToTitle(err.Error()))
|
||||
log.Printf("[ERR] Rename Local File (Add Suffix): %s\r\n", err.Error())
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
err := os.Rename(local+suffix, local)
|
||||
if err != nil {
|
||||
log.Printf("[ERR] Rename Local File (Remove Suffix): %s\r\n", err.Error())
|
||||
}
|
||||
}()
|
||||
}
|
||||
for i := 0; i <= retry; i++ {
|
||||
if i > 0 {
|
||||
@ -183,14 +188,9 @@ func _Upload(local, remote string) {
|
||||
return
|
||||
}
|
||||
if suffix != "" {
|
||||
err = ftp.Rename(remote+"/"+baseLocal+suffix, remote+"/"+baseLocal)
|
||||
err = ftp.Rename(remote+baseLocal+suffix, remote+baseLocal)
|
||||
if err != nil {
|
||||
log.Printf("[ERR] Rename Remote File: %s --> %s; %s\r\n", remote+"/"+baseLocal+suffix, remote+"/"+baseLocal, err.Error())
|
||||
//return
|
||||
}
|
||||
err = os.Rename(local+suffix, local)
|
||||
if err != nil {
|
||||
log.Printf("[ERR] Rename Local File (Remove Suffix): %s\r\n", strings.ToTitle(err.Error()))
|
||||
log.Printf("[ERR] Rename Remote File: %s --> %s; %s\r\n", remote+baseLocal+suffix, remote+baseLocal, err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user