Using IPluginPaths and core's extract_review.py profile

Hullo AYONerds,

For the AYON Harmony plugin, we created a custom launcher action to remove the old extracted Harmony ZIP file from the local cache.

We got this custom launcher action to appear by adding IPluginPaths to the HarmonyAddon class definition here:
ayon-harmony/client/ayon_harmony/addon.py

However, we’ve just discovered that this interferes with the core’s extract_review.py functionality. Specifically, in the core’s extract_review, self.profile always returns None, even when the context is not in the Harmony host.

We suspect this happens because there’s also an extract_review.py inside the Harmony plugin’s publish folder. Renaming Harmony’s extract_review.py makes the core’s version work again.

What’s the best (and least disruptive) way to create a custom launcher action for a specific addon in AYON without causing this kind of conflict?

Regards,
Tu

I don’t think harmony has a plugin named ExtractReview but it has CollectAudio, see ayon-harmony/client/ayon_harmony/plugins/publish folder.

for refrence plugins with the same name may cause a conflict with plugin discovery. as explained in this issue Potential conflict in project settings detection per pyblish plugins · Issue #1389 · ynput/ayon-core · GitHub . it’s worth mentioning that it’s not about the file names, it’s about the class names.

As PR66 added settings_category = "resolve" , I guess it’s also related to this :

Thank you @mustafa_jafar and @Yul for the quick response.

We’ve just realized that the extract_review .py in harmony was created as a custom plugin that we made.

We have changed both the filename and the class name to avoid conflict, and it worked as expected now.

@mustafa_jafar about your note with regards to file names and class name, we did noticed with our earlier tests that changing the class name without changing the file name will still produces the bug/issue with extract_review.

2 Likes