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