diff --git a/avalon/api.py b/avalon/api.py index aa8dcffa5..ac843faad 100644 --- a/avalon/api.py +++ b/avalon/api.py @@ -59,6 +59,8 @@ registered_plugin_paths, registered_root, + last_discovered_plugins, + deregister_plugin, deregister_plugin_path, diff --git a/avalon/pipeline.py b/avalon/pipeline.py index e2d1a7f14..5a891012f 100644 --- a/avalon/pipeline.py +++ b/avalon/pipeline.py @@ -40,6 +40,8 @@ self._is_installed = False self._config = None self.data = {} +# The currently registered plugins from the last `discover` call. +self.last_discovered_plugins = {} log = logging.getLogger(__name__) @@ -803,7 +805,11 @@ def discover(superclass): print("Warning: Overwriting %s" % plugin.__name__) plugins[plugin.__name__] = plugin - return sorted(plugins.values(), key=lambda Plugin: Plugin.__name__) + sorted_plugins = sorted( + plugins.values(), key=lambda Plugin: Plugin.__name__ + ) + self.last_discovered_plugins[superclass.__name__] = sorted_plugins + return sorted_plugins def plugin_from_module(superclass, module): diff --git a/avalon/tools/creator/app.py b/avalon/tools/creator/app.py index 66a55f06f..0a9aae614 100644 --- a/avalon/tools/creator/app.py +++ b/avalon/tools/creator/app.py @@ -349,9 +349,9 @@ def _on_data_changed(self): defaults = list(plugin.defaults) # Replace - compare_regex = re.compile( - subset_name.replace(user_input_text, "(.+)") - ) + compare_regex = re.compile(re.sub( + user_input_text, "(.+)", subset_name, flags=re.IGNORECASE + )) subset_hints = set() if user_input_text: for _name in existing_subset_names: diff --git a/avalon/tvpaint/lib.py b/avalon/tvpaint/lib.py index 6b17b7f8a..3df69290f 100644 --- a/avalon/tvpaint/lib.py +++ b/avalon/tvpaint/lib.py @@ -192,6 +192,7 @@ def groups_data(): output = parse_group_data(data) os.remove(output_filepath) + return output def get_layers_pre_post_behavior(layer_ids):