-
Notifications
You must be signed in to change notification settings - Fork 0
/
resource.go
57 lines (46 loc) · 918 Bytes
/
resource.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package resource
import (
"github.com/sohaha/zlsgo/zfile"
)
type Resource struct {
Remote string
Dir string
TmpFile string
Ext string
tmpPath string
md5 string
keep string
ignore []string
moveRule map[string]string
}
func New(remote string) *Resource {
return &Resource{
Remote: remote,
}
}
func (r *Resource) SilentRun(progress func(current, total int64)) error {
err := r.Download(progress)
if err != nil {
return err
}
err = r.Compress()
if err != nil {
return err
}
return r.MoveFile()
}
func (r *Resource) SetMd5(m string) {
r.md5 = m
}
func (r *Resource) SetDeCompressPath(path string) {
r.Dir = zfile.RealPath(path, true)
}
func (r *Resource) SetKeepOldFile(keep string) {
r.keep = keep
}
func (r *Resource) SetFilterRule(ignore []string) {
r.ignore = ignore
}
func (r *Resource) SetMoveRule(moveRule map[string]string) {
r.moveRule = moveRule
}