github.com/qjfoidnh/BaiduPCS-Go@v0.0.0-20231011165705-caa18a3765f3/internal/pcscommand/cloud_dl.go (about) 1 package pcscommand 2 3 import ( 4 "fmt" 5 "github.com/qjfoidnh/BaiduPCS-Go/baidupcs" 6 ) 7 8 // RunCloudDlAddTask 执行添加离线下载任务 9 func RunCloudDlAddTask(sourceURLs []string, savePath string) { 10 var ( 11 err error 12 pcs = GetBaiduPCS() 13 ) 14 err = matchPathByShellPatternOnce(&savePath) 15 if err != nil { 16 fmt.Println(err) 17 return 18 } 19 20 var taskid int64 21 for k := range sourceURLs { 22 taskid, err = pcs.CloudDlAddTask(sourceURLs[k], savePath+baidupcs.PathSeparator) 23 if err != nil { 24 fmt.Printf("[%d] %s, 地址: %s\n", k+1, err, sourceURLs[k]) 25 continue 26 } 27 28 fmt.Printf("[%d] 添加离线任务成功, 任务ID(task_id): %d, 源地址: %s, 保存路径: %s\n", k+1, taskid, sourceURLs[k], savePath) 29 } 30 } 31 32 // RunCloudDlQueryTask 精确查询离线下载任务 33 func RunCloudDlQueryTask(taskIDs []int64) { 34 cl, err := GetBaiduPCS().CloudDlQueryTask(taskIDs) 35 if err != nil { 36 fmt.Printf("%s\n", err) 37 return 38 } 39 40 fmt.Println(cl) 41 } 42 43 // RunCloudDlListTask 查询离线下载任务列表 44 func RunCloudDlListTask() { 45 cl, err := GetBaiduPCS().CloudDlListTask() 46 if err != nil { 47 fmt.Printf("%s\n", err) 48 return 49 } 50 51 fmt.Println(cl) 52 } 53 54 // RunCloudDlCancelTask 取消离线下载任务 55 func RunCloudDlCancelTask(taskIDs []int64) { 56 for _, id := range taskIDs { 57 err := GetBaiduPCS().CloudDlCancelTask(id) 58 if err != nil { 59 fmt.Printf("[%d] %s\n", id, err) 60 continue 61 } 62 63 fmt.Printf("[%d] 取消成功\n", id) 64 } 65 } 66 67 // RunCloudDlDeleteTask 删除离线下载任务 68 func RunCloudDlDeleteTask(taskIDs []int64) { 69 for _, id := range taskIDs { 70 err := GetBaiduPCS().CloudDlDeleteTask(id) 71 if err != nil { 72 fmt.Printf("[%d] %s\n", id, err) 73 continue 74 } 75 76 fmt.Printf("[%d] 删除成功\n", id) 77 } 78 } 79 80 // RunCloudDlClearTask 清空离线下载任务记录 81 func RunCloudDlClearTask() { 82 total, err := GetBaiduPCS().CloudDlClearTask() 83 if err != nil { 84 fmt.Printf("%s\n", err) 85 return 86 } 87 88 fmt.Printf("%s成功, 共清除 %d 条记录\n", baidupcs.OperationCloudDlClearTask, total) 89 return 90 }