(self)
| 244 | return handler |
| 245 | |
| 246 | def patch(self): |
| 247 | state = ModelConditionalState() |
| 248 | base_patched = self.base.clone() |
| 249 | for pt in PATCH_TYPES.values(): |
| 250 | if not (pt.exists(self.options_default) or pt.exists(self.options_matched)): |
| 251 | continue |
| 252 | # print(f"set patch {pt.name}") |
| 253 | if not isinstance(pt, PatchTypeTransformerReplace): |
| 254 | pt.set_patches( |
| 255 | base_patched.model_options, |
| 256 | [self.mk_patch_handler(pt, state)], |
| 257 | ) |
| 258 | continue |
| 259 | pt.set_patches( |
| 260 | base_patched.model_options, |
| 261 | { |
| 262 | k: self.mk_patch_handler(pt, state, key=k) |
| 263 | for k in ( |
| 264 | pt.get_patches(self.options_default).keys() |
| 265 | | pt.get_patches(self.options_matched).keys() |
| 266 | ) |
| 267 | }, |
| 268 | ) |
| 269 | base_patched.model_options["disable_cfg1_optimization"] = ( |
| 270 | self.options_default.get("disable_cfg1_optimization", False) |
| 271 | or self.options_matched.get("disable_cfg1_optimization", False) |
| 272 | ) |
| 273 | return base_patched |
| 274 | |
| 275 | |
| 276 | class ModelPatchConditionalNode: |
no test coverage detected