|
18 | 18 | (a/go
|
19 | 19 | (let [quality-profiles (a/<! (impl/quality-profiles))
|
20 | 20 | language-profiles (a/<! (impl/language-profiles))
|
| 21 | + rootfolders (a/<! (impl/rootfolders)) |
21 | 22 | details (a/<! (impl/get-from-tvdb (:tvdb-id result)))
|
22 | 23 | seasons (->> (:seasons details)
|
23 | 24 | (filter #(pos? (:season-number %)))
|
|
26 | 27 | {:keys [sonarr/language-profile
|
27 | 28 | sonarr/quality-profile
|
28 | 29 | partial-seasons]} @state/config
|
29 |
| - default-profile-id (utils/profile-name-id quality-profiles quality-profile) |
30 |
| - default-language-id (utils/profile-name-id language-profiles language-profile)] |
| 30 | + default-profile-id (utils/id-from-name quality-profiles quality-profile) |
| 31 | + default-language-id (utils/id-from-name language-profiles language-profile)] |
31 | 32 | (when (and quality-profile (nil? default-profile-id))
|
32 | 33 | (warn "Default quality profile in config doesn't exist in backend, check spelling"))
|
33 | 34 | (when (and language-profile (nil? default-language-id))
|
|
43 | 44 | :language-profile-id (cond
|
44 | 45 | language-profile default-language-id
|
45 | 46 | (= 1 (count language-profiles)) (:id (first language-profiles))
|
46 |
| - :else language-profiles)}))) |
| 47 | + :else language-profiles) |
| 48 | + :rootfolder-id (cond |
| 49 | + (= 1 (count rootfolders)) (:id (first rootfolders)) |
| 50 | + :else rootfolders)}))) |
47 | 51 |
|
48 |
| -(defn request-embed [{:keys [title quality-profile-id language-profile-id tvdb-id season]} _] |
| 52 | +(defn request-embed [{:keys [title quality-profile-id language-profile-id tvdb-id season rootfolder-id]} _] |
49 | 53 | (a/go
|
50 |
| - (let [quality-profiles (a/<! (impl/quality-profiles)) |
| 54 | + (let [rootfolders (a/<! (impl/rootfolders)) |
| 55 | + quality-profiles (a/<! (impl/quality-profiles)) |
51 | 56 | language-profiles (a/<! (impl/language-profiles))
|
52 | 57 | details (a/<! (impl/get-from-tvdb tvdb-id))]
|
53 | 58 | {:title title
|
|
57 | 62 | :season season
|
58 | 63 | :request-formats [""]
|
59 | 64 | :quality-profile (:name (first (filter #(= quality-profile-id (:id %)) quality-profiles)))
|
60 |
| - :language-profile (:name (first (filter #(= language-profile-id (:id %)) language-profiles)))}))) |
| 65 | + :language-profile (:name (first (filter #(= language-profile-id (:id %)) language-profiles))) |
| 66 | + :rootfolder (utils/name-from-id rootfolders rootfolder-id)}))) |
61 | 67 |
|
62 | 68 | (defn request [payload _]
|
63 | 69 | (a/go (let [details (a/<! (if-let [id (:id payload)]
|
64 | 70 | (impl/get-from-id id)
|
65 | 71 | (impl/get-from-tvdb (:tvdb-id payload))))
|
66 | 72 | status (impl/status details (:season payload))
|
| 73 | + rfs (a/<! (impl/rootfolders)) |
| 74 | + payload (assoc payload :root-folder-path (utils/name-from-id rfs (:rootfolder-id payload))) |
67 | 75 | request-payload (impl/request-payload payload details)]
|
68 | 76 | (if status
|
69 | 77 | status
|
|
0 commit comments