class SdConfig { | |
constructor() { | |
this.config //store sd options | |
} | |
async getConfig() { | |
try { | |
this.config = await sdapi.requestGetConfig() | |
return this.config | |
} catch (e) { | |
console.warn(e) | |
} | |
} | |
getUpscalerModels() { | |
try { | |
// const upscaler_comp = this.config.components.filter(comp =>comp.props.elem_id === "txt2img_hr_upscaler")[0] | |
let upscaler_comp | |
// console.log('this.config: ', this.config) | |
for (let comp of this.config.components) { | |
if (comp?.props?.elem_id) { | |
const elem_id = comp?.props?.elem_id | |
if (elem_id === 'txt2img_hr_upscaler') { | |
console.log('elem_id: ', elem_id) | |
upscaler_comp = comp | |
break | |
} | |
} | |
} | |
console.log('upscaler_comp: ', upscaler_comp) | |
const upscalers = upscaler_comp.props.choices | |
return upscalers | |
} catch (e) { | |
console.warn(e) | |
} | |
} | |
getControlNetMaxModelsNum() { | |
try { | |
let max_models_num = 0 | |
for (let comp of this.config.components) { | |
if (comp?.props?.elem_id) { | |
const elem_id = comp?.props?.elem_id | |
if (elem_id === 'setting_control_net_max_models_num') { | |
console.log( | |
'setting_control_net_max_models_num: ', | |
comp?.props?.value | |
) | |
max_models_num = comp?.props?.value | |
break | |
} | |
} | |
} | |
console.log('max_models_num: ', max_models_num) | |
return max_models_num | |
} catch (e) { | |
console.warn(e) | |
return 1 // default max number is one | |
} | |
} | |
getControlNetPreprocessors() { | |
try { | |
let max_models_num | |
let choices | |
for (let comp of this.config.components) { | |
const label = comp?.props?.label | |
if (label === 'Preprocessor') { | |
choices = comp?.props?.choices | |
break | |
} | |
} | |
console.log('Preprocessor list: ', choices) | |
return choices | |
} catch (e) { | |
console.warn(e) | |
} | |
} | |
} | |
module.exports = { | |
SdConfig, | |
} | |