5
5
"io"
6
6
"net/http"
7
7
"os"
8
+ "path"
8
9
"runtime"
9
10
"strconv"
10
11
"strings"
@@ -15,16 +16,16 @@ import (
15
16
"github.com/pkg/errors"
16
17
)
17
18
18
- func (c * config ) download (path , prefix , ua string , waits time.Duration , usecust , usetrs , force bool ) error {
19
+ func (c * config ) download (p , prefix , home , ua string , waits time.Duration , usecust , usetrs , force bool ) error {
19
20
for i , t := range c .Targets {
20
21
if t .Refer != "" {
21
- refp := path [:strings .LastIndex (path , "/" )+ 1 ] + t .Refer
22
+ refp := p [:strings .LastIndex (p , "/" )+ 1 ] + t .Refer
22
23
infof ("#%s%d refer to target '%s'." , prefix , i + 1 , refp )
23
24
refcfg , err := readconfig (refp , usecust )
24
25
if err != nil {
25
26
return err
26
27
}
27
- err = refcfg .download (refp , prefix + strconv .Itoa (i + 1 )+ "." , ua , waits , usecust , usetrs , force )
28
+ err = refcfg .download (refp , prefix + strconv .Itoa (i + 1 )+ "." , home , ua , waits , usecust , usetrs , force )
28
29
if err != nil {
29
30
return err
30
31
}
@@ -38,11 +39,12 @@ func (c *config) download(path, prefix, ua string, waits time.Duration, usecust,
38
39
warnf ("#%s%d target required Arch: %s but you are %s, skip." , prefix , i + 1 , t .Arch , runtime .GOARCH )
39
40
continue
40
41
}
41
- err := os .MkdirAll (t .Folder , 0755 )
42
+ homefolder := path .Join (home , t .Folder )
43
+ err := os .MkdirAll (homefolder , 0755 )
42
44
if err != nil {
43
- return errors .Wrap (err , fmt .Sprintf ("#%s%d make target folder '%s'" , prefix , i + 1 , t . Folder ))
45
+ return errors .Wrap (err , fmt .Sprintf ("#%s%d make target folder '%s'" , prefix , i + 1 , homefolder ))
44
46
}
45
- infof ("#%s%d open target folder '%s'." , prefix , i + 1 , t . Folder )
47
+ infof ("#%s%d open target folder '%s'." , prefix , i + 1 , homefolder )
46
48
if len (t .Copy ) == 0 {
47
49
warnf ("#%s%d empty copy target." , prefix , i + 1 )
48
50
continue
@@ -57,7 +59,7 @@ func (c *config) download(path, prefix, ua string, waits time.Duration, usecust,
57
59
if sleep > time .Millisecond {
58
60
time .Sleep (sleep )
59
61
}
60
- fname := t . Folder + "/" + cp [strings .LastIndex (cp , "/" )+ 1 :]
62
+ fname := path . Join ( homefolder , cp [strings .LastIndex (cp , "/" )+ 1 :])
61
63
if ! force {
62
64
if _ , err := os .Stat (fname ); err == nil || os .IsExist (err ) {
63
65
warnf ("#%s%d skip exist file %s" , prefix , i + 1 , fname )
0 commit comments