@@ -5,6 +5,7 @@ import { MergedCustomFormatResource } from "./__generated__/mergedTypes";
5
5
import { configureApi , configureRadarrApi , configureSonarrApi , getArrApi , unsetApi } from "./api" ;
6
6
import { getConfig , validateConfig } from "./config" ;
7
7
import { calculateCFsToManage , loadCFFromConfig , loadLocalCfs , loadServerCustomFormats , manageCf , mergeCfSources } from "./custom-formats" ;
8
+ import { loadLocalRecyclarrTemplate } from "./local-importer" ;
8
9
import { logHeading , logger } from "./logger" ;
9
10
import { calculateQualityDefinitionDiff , loadQualityDefinitionFromServer } from "./quality-definitions" ;
10
11
import { calculateQualityProfilesDiff , filterInvalidQualityProfiles , loadQualityProfilesFromServer } from "./quality-profiles" ;
@@ -33,13 +34,19 @@ const mergeConfigsAndTemplates = async (
33
34
arrType : ArrType ,
34
35
) : Promise < { mergedCFs : CFProcessing ; config : MergedConfigInstance } > => {
35
36
const recyclarrTemplateMap = loadRecyclarrTemplates ( arrType ) ;
37
+ const localTemplateMap = loadLocalRecyclarrTemplate ( arrType ) ;
36
38
const trashTemplates = await loadQPFromTrash ( arrType ) ;
37
39
40
+ logger . debug (
41
+ `Loaded ${ recyclarrTemplateMap . size } Recyclarr templates, ${ localTemplateMap . size } local templates and ${ trashTemplates . size } trash templates.` ,
42
+ ) ;
43
+
38
44
const recylarrMergedTemplates : MappedMergedTemplates = {
39
45
custom_formats : [ ] ,
40
46
quality_profiles : [ ] ,
41
47
} ;
42
48
49
+ // TODO: customFormatDefinitions not supported in templates yet
43
50
if ( value . include ) {
44
51
const mappedIncludes = value . include . reduce < { recyclarr : InputConfigIncludeItem [ ] ; trash : InputConfigIncludeItem [ ] } > (
45
52
( previous , current ) => {
@@ -60,11 +67,11 @@ const mergeConfigsAndTemplates = async (
60
67
) ;
61
68
62
69
logger . info (
63
- `Found ${ value . include . length } templates to include: [recyclarr]=${ mappedIncludes . recyclarr . length } , [trash]=${ mappedIncludes . trash . length } ...` ,
70
+ `Found ${ value . include . length } templates to include. Mapped to [recyclarr]=${ mappedIncludes . recyclarr . length } , [trash]=${ mappedIncludes . trash . length } ...` ,
64
71
) ;
65
72
66
73
mappedIncludes . recyclarr . forEach ( ( e ) => {
67
- const template = recyclarrTemplateMap . get ( e . template ) ;
74
+ const template = recyclarrTemplateMap . get ( e . template ) ?? localTemplateMap . get ( e . template ) ;
68
75
69
76
if ( ! template ) {
70
77
logger . warn ( `Unknown recyclarr template requested: ${ e . template } ` ) ;
@@ -91,6 +98,7 @@ const mergeConfigsAndTemplates = async (
91
98
}
92
99
} ) ;
93
100
101
+ // TODO: local trash guide QP templates do not work yet
94
102
mappedIncludes . trash . forEach ( ( e ) => {
95
103
const template = trashTemplates . get ( e . template ) ;
96
104
0 commit comments