| 288 | } |
| 289 | |
| 290 | func (task *Task) UpdateStatus(db *sql.DB, status TaskStatus, errs ...error) error { |
| 291 | util.SqliteLock.Lock() |
| 292 | _, err := db.Exec(`UPDATE "task" SET "status" = ? WHERE "id" = ?`, status, task.ID) |
| 293 | util.SqliteLock.Unlock() |
| 294 | if err != nil { |
| 295 | return nil |
| 296 | } |
| 297 | for _, err := range errs { |
| 298 | if err != nil { |
| 299 | err = util.CreateLog(db, fmt.Sprintf("Task-%d-Error: %v", task.ID, err)) |
| 300 | if err != nil { |
| 301 | log.Fatalln("CreateLog:", err) |
| 302 | } |
| 303 | } |
| 304 | } |
| 305 | task.Status = status |
| 306 | return err |
| 307 | } |
| 308 | |
| 309 | func DownloadMedia(client *bilibili.BiliClient, _url string, task *Task, mediaType string) error { |
| 310 | var resp *http.Response |