Commit Graph
48 Commits
Author SHA1 Message Date
Antonio Cordero Balcazar 28801c1aa6 * Make it work again in SD.Next. 2026-05-24 23:41:21 +02:00
Antonio Cordero Balcazar b325edc48e * Additional job info passed as input variable.
* New results_file option to output the process information to a file.
2026-05-24 00:06:15 +02:00
Antonio Cordero Balcazar a8a34f47e9 * Independent support for Forge Neo (from Classic).
* Styles (A1111/SD.Next) to Wildcard conversion tool.
* Additional models support and NoobAI variant for SDXL.
* Detection of new models supported but missing from user config file.
2026-05-19 18:05:12 +02:00
Antonio Cordero Balcazar 651dc240fc * Bump version.
* PromptPostProcessorSelectVariableComfyUINode: exceptions on invalid values.
2026-05-17 16:11:12 +02:00
Antonio Cordero Balcazar 1a0ea3c5b0 * Refactorings. 2026-05-16 08:27:31 +02:00
Antonio Cordero Balcazar 9cb0415e48 * Use of pathlib everywhere.
* Fix in a1111 script.
2026-05-15 22:21:09 +02:00
Antonio Cordero Balcazar f1a4e2fc62 * Better logging.
* Refactored tests.
2026-05-03 17:06:57 +02:00
Antonio Cordero BalcazarandCopilot 04119b169e * Improved combinatorial limit warning.
* Added combinatorial shuffle.
* A1111: Improved combinatorial with hiresfix.
* Some refactoring.
* Update of AI test instructions.

Co-authored-by: Copilot <copilot@github.com>
2026-05-02 13:40:06 +02:00
Antonio Cordero BalcazarandCopilot a31070b986 * Added combinatorial generation.
* Updated pylint settings.
* Fixed a bug with wildcard or extranetwork mappings folders in a different drive than the extension.

Co-authored-by: Copilot <copilot@github.com>
2026-05-01 23:02:57 +02:00
Antonio Cordero BalcazarandCopilot 563c071a65 * Support for reading array variable length.
* Support for additional operators: any_in and contains_any.
* Support for starred initialization in the set command.
* New option to set strict operations for some operators.
* Fixes detecting integers and added float support.
* Fixed echoing system variables.
* A1111: fixed prompt processing when there are more than 500 prompts.

Co-authored-by: Copilot <copilot@github.com>
2026-04-29 11:55:07 +02:00
Antonio Cordero Balcazar 62939f4416 * Refactor logging.
* Update option names in PromptPostProcessor.
2026-04-09 10:39:04 +02:00
Antonio Cordero Balcazar 932bce32f5 * Massive refactoring to decouple classes and improve configuration and state handling.
* Wildcard descriptions used in concat node.
2026-04-07 22:55:59 +02:00
Antonio Cordero Balcazar 47375db1ba * Escape quotes on log messages
* Separated tests in multiple files.
* Added pydantic validation for configuration.
* Improved backup/restore on visit of nodes.
* Echoing of variables with default no longer visits the default when not used (and no longer creates variables that were not actually used).
2026-04-04 19:04:46 +02:00
Antonio Cordero Balcazar 6ceb23b84b * Moved known models and their detection to the configuration file.
* Updated `ppp_config.yaml.defaults` to enhance documentation and structure for model detection and configuration.
* Improved validation of configuration files.
* Added a new `tests` application in `SUPPORTED_APPS` for testing purposes.
* Support for variables in list of values comparisons.
2026-04-03 15:53:10 +02:00
Antonio Cordero Balcazar 78631d4adc * Support for more base models.
* Enhanced the processing of "BREAK" and "AND" constructs to support replacing with a comma. Set both to comma as default in ComfyUI.
* Added a new command `setwcdeffilter` to set default filters for a wildcard.
* Fixed bug with echoed variables.
* ComfyUI: Individual help documentation for the nodes.
* Can now test for output variables.
* Improved documentation.
2026-03-28 16:39:29 +01:00
Antonio Cordero Balcazar dc8b4b6631 * Added option to cleanup output variables. 2026-03-28 16:39:29 +01:00
Antonio Cordero Balcazar 87d12ca53f * Added new configuration options in ppp_config.yaml.defaults (and ppp_config.yaml) for host applications and models.
* Implemented handling for attention, scheduling, alternation, AND, and BREAK operators in the new configuration file.
* Moved variant definitions to the new configuration file.
* Improved tests speed by creating the needed PPP object in the process method.
2026-03-28 16:38:53 +01:00
Antonio Cordero Balcazar 39d6008f6f * Update version to 3.0.0 because of breaking changes for ComfyUI nodes.
* Refactor PromptPostProcessor class to use the same default values for options
* Add new nodes for the different option groups
2026-03-28 16:34:12 +01:00
Antonio Cordero Balcazar db43d409f8 * removed unnecessary processing of variables.
* error control when reading wildcard or mapping files, and second chance for files with incorrect encoding.
* fix processing inside extranetwork tag.
2025-09-27 13:22:19 +02:00
Antonio Cordero Balcazar 54a20117ce * New extranetworks command to group the triggers with the extranetwork.
* Mapping of extranetworks through the new command. This allows you to use a "virtual" extranetwork that is converted to a real one depending on conditions, like the model kind/variant.
* Fixed a parsing bug with the if command.
* Some refactoring and additional checks.
2025-09-01 16:50:46 +02:00
Antonio Cordero Balcazar fe61e54f41 * Selection of prompt parser based on heuristics to improve parsing time on simpler cases.
* Improved timing logging.
* Refactor application support handling.
* Enhanced regex patterns in `ppp.py` for wildcard and choice detection to ensure proper escaping.
* Included icon source files.
2025-08-08 14:05:34 +02:00
Antonio Cordero Balcazar c03339a618 * Better processing of interruptions using an exception.
* New option on_warning to stop on invalid content.
* New option cleanup_extra_separators_include_eol to choose whether to also remove adjacent EOLs when removing extra separators or not. Default is not to do it. In previous versions it was forced.
* Refactoring of the cleanup method.
* Only simplify attention modifiers when the merge attention option is set.
* A1111: avoid logging about HR prompts and avoid saving them in extra metadata when not different.
* A1111: consider options and environment info in the caching of results.
* Some refactorings.
2025-05-31 12:08:57 +02:00
Antonio Cordero Balcazar bfc47d0d53 * A1111: add prompts to metadata only if they change 2025-05-03 12:07:18 +02:00
Antonio Cordero Balcazar b837f38422 * if_wildcards option defaults now to stop.
* ComfyUI: new wildcards_input.
* removed json import since yaml can read them.
* more models detected in ComfyUI.
* ComfyUI: example workflow.
2025-05-03 12:07:18 +02:00
Antonio Cordero Balcazar 5e3c8cbc44 * ComfyUI: updates to the ComfyUI registry workflow.
* A1111: option to add original prompts to metadata.
* fixed some bogus import error shenanigans.
* warn when a model name detects multiple variants.
2025-04-11 17:50:26 +02:00
Antonio Cordero Balcazar a1958db81f * Improved conditions with bool operations.
* Enhance PromptPostProcessorComfyUINode to return variables.
* New PromptPostProcessorSelectVariableComfyUINode for selecting variables.
* Fixed detection of Flux Schnell in Forge.
* Improved documentation.
2025-02-09 21:22:30 +01:00
Antonio Cordero Balcazar e059a6d821 * add ifundefined modifier when setting variables.
* ComfyUI: better flux detection.
* Saving of UI settings and prompt/negative prompt to metadata.
2024-12-30 14:20:45 +01:00
Antonio Cordero Balcazar b06bcfa677 * Turned pony detection into detection of any kind of variant models based on filename. Added illustrious. Breaking change: the setting is different and changed pony substrings are not imported.
* Fixed and refactored some UI settings. Slight change in the generation of batched seeds.
* Detection of reforge.
* Small refactoring when getting choices.
2024-12-24 12:26:34 +01:00
Antonio Cordero Balcazar ee7ba94a30 * fix error in i2i detection.
* check for lingering special character sequences.
* small refactorings.
2024-11-23 14:00:43 +01:00
Antonio Cordero Balcazar 3810320f6e * Simpler versioning
* Cache now takes wildcard definitions into consideration.
* ComfyUI: node is not cached if wildcard processing is active.
* Add a space with prefix and suffix if needed.
* Checks requirements before installing them.
2024-10-27 16:05:55 +01:00
Antonio Cordero Balcazar 93f0102897 * Fix a bug with the variable echo command.
* Fix a bug obtaining random seed.
* Reading version number from pyproject file.
* A1111: Support for forcing the same seed/variation seed to all images in a batch.
* A1111: Support for unlinking the seed from the image seed and specifying one for the prompt.
* ComfyUI: Warning on use of invalid constructs. Related settings kept but default to False.
2024-10-11 18:13:57 +02:00
Antonio Cordero Balcazar 42f7fc65cc * Fixed "dictionary changed size during iteration" error.
* Support for choice labels and their use for filtering wildcard choices.
* New system variable _modelclass and renaming of _sd->_model, _sdname->_modelname and _sdfullname->_modelfullname.
* Support for auraflow models with _is_auraflow.
* Option to "join attention" when sending to negative replaced and generalized as "merge attention".
* Improved processing of extranetwork tags.
2024-09-29 22:51:39 +02:00
Antonio Cordero Balcazar 956a47adbc * Fix process wildcards setting. 2024-09-05 19:26:54 +02:00
Antonio Cordero Balcazar 8a960df0aa * Add support for wildcards.
* Better debug log.
* Set commands support lazy evaluation and content addition.
* Unified in one tree and processing phase.
* Supports Flux.
* Fix evaluation of string variable as truthy.
* Show invalid wildcards.
* Better detection of installed UI.
* Improved cache of results.
* Works as a ComfyUI node.
* Debug setting changed to debug level.
* Fixes in variable use.
* Added timing reporting.
* Detection of more model types.
* Installation script for requirements.
* Extension metadata for A1111.
* Lark grammar in separate file and cached.
* Improved conditions for if command.
* Avoid repeats in the processing of prompts.
* Fix multiple loading of settings.
2024-08-31 14:02:46 +02:00
Antonio Cordero Balcazar bad0d24fbe * New cleanup options: Remove additional extra separators, Use EOL instead of Space before BREAKs, Use EOL instead of Space before ANDs
* New format for commands
* New commands: "set", "echo" and "if/elif/else"
* Option to Remove extra network tags.
2024-04-02 00:27:58 +02:00
Antonio Cordero Balcazar e8643680f9 * Support for prompt composition (AND) and cleaning around it.
* Option to cleanup around extra network tags.
* Improved cleanup.
* Some refactoring.
2024-01-13 12:27:59 +01:00
Antonio Cordero Balcazar 3fc61c8dd1 * Improved documentation.
* New options to choose whether to process in img2img.
* Option to detect and do something with unwanted wildcards.
* Cleanup processing rewritten and separated in multiple options.
2023-12-10 12:16:55 +01:00
Antonio Cordero Balcazar 77a74a8088 * Renamed the extension to "Prompt Post-Processor".
* Improved logging.
* Fix compatibility with A1111 hiresfix.
2023-12-02 11:12:00 +01:00
Antonio Cordero Balcazar 496117e004 * Fix processing with A1111 hires fix.
* Remove version from title.
2023-10-14 13:51:09 +02:00
Antonio Cordero Balcazar 6224adde0f * Logging and documentation improvements 2023-08-15 18:01:39 +02:00
Antonio Cordero Balcazar c8a7b6c815 * New parser, which now supports the attention, alternation and scheduling modifiers and replicates them in the negative prompt when necessary. Implements issue #1.
* Removed configuration of tag format since it cannot be done with the new parser.
2023-08-13 14:07:41 +02:00
Antonio Cordero Balcazar 7ccae56ce0 refactoring and linting
removed unneeded code for logging
2023-05-14 21:27:32 +02:00
Antonio Cordero Balcazar f23ad8fbd1 refactoring
better readme
2023-05-13 20:53:00 +02:00
Antonio Cordero Balcazar ce64906850 refactoring 2023-05-13 17:08:13 +02:00
Antonio Cordero Balcazar 432f6bab76 fix 2023-05-13 15:29:22 +02:00
Antonio Cordero Balcazar c2ced311ba improved
refactoring
added tests
2023-05-13 15:10:14 +02:00
Antonio Cordero Balcazar f2159d3df8 improved
added license
2023-05-11 21:37:42 +02:00
Antonio Cordero Balcazar 0b7589225a Initial version 2023-05-11 16:12:40 +02:00