MCPcopy Create free account
hub / github.com/Unpackerr/unpackerr / checkReadarrQueue

Method checkReadarrQueue

pkg/unpackerr/readarr.go:79–117  ·  view source on GitHub ↗

checkReadarQueue saves completed Readarr-queued downloads to u.Map.

(now time.Time)

Source from the content-addressed store, hash-verified

77
78// checkReadarQueue saves completed Readarr-queued downloads to u.Map.
79func (u *Unpackerr) checkReadarrQueue(now time.Time) {
80 for _, server := range u.Readarr {
81 if server.Queue == nil {
82 continue
83 }
84
85 for _, record := range server.Queue.Records {
86 switch x, ok := u.Map[record.Title]; {
87 case ok && x.Status == EXTRACTED && u.isComplete(record.Status, record.Protocol, server.Protocols):
88 u.Debugf("%s (%s): Item Waiting for Import (%s): %v", starr.Readarr, server.URL, record.Protocol, record.Title)
89 case !ok && u.isComplete(record.Status, record.Protocol, server.Protocols):
90 u.Map[record.Title] = &Extract{
91 App: starr.Readarr,
92 URL: server.URL,
93 Updated: now,
94 Status: WAITING,
95 DeleteOrig: server.DeleteOrig,
96 DeleteDelay: server.DeleteDelay.Duration,
97 Syncthing: server.Syncthing,
98 Path: u.getDownloadPath(record.OutputPath, starr.Readarr, record.Title, server.Paths),
99 IDs: map[string]any{
100 "title": record.Title,
101 "authorId": record.AuthorID,
102 "bookId": record.BookID,
103 "downloadId": record.DownloadID,
104 "reason": buildStatusReason(record.Status, record.StatusMessages),
105 },
106 }
107 u.Map[record.Title].XProg = &ExtractProgress{Extract: u.Map[record.Title]}
108
109 fallthrough
110 default:
111 u.Debugf("%s: (%s): %s (%s:%d%%): %v",
112 starr.Readarr, server.URL, record.Status, record.Protocol,
113 percent(record.Sizeleft, record.Size), record.Title)
114 }
115 }
116 }
117}
118
119// checks if the application currently has an item in its queue.
120func (u *Unpackerr) haveReadarrQitem(name string) bool {

Callers 1

retrieveAppQueuesMethod · 0.95

Calls 5

isCompleteMethod · 0.95
getDownloadPathMethod · 0.95
buildStatusReasonFunction · 0.85
percentFunction · 0.85
DebugfMethod · 0.65

Tested by

no test coverage detected