Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior:
The Publisher tool allows users to add a thumbnail for each instance, including the context. This can happen in different host integration addons like Harmony and Photoshop, and I believe it happens because we have thumbnails on different instances, but then we try to save to the same filename...it errors out in an unfriendly error that can't be repaired... but ideally we allow the user to create thumbnails for each instance and not clobber existing ones, but if that's not logistically sound or canonical, we can maybe either fail gracefully, or fix it?
//
Expected Behavior:
I would expect that at the very least we'd give a user friendly publish fail message, but that may still be a confusing user experience. Because there are many combinations of thumbnails and instances possible, specific to the plugin, host, and session. I suggest the code just allows the duplicate representations to be name iteratively, and then choose a higher priority one to actually be integrated accordingly. There may not be an elegant solution, but it'd be better for this to fail and be resolved silently imho.
Version
1.2.0
What platform you are running on?
Windows
Steps To Reproduce:
- Open up Photoshop through the AYON Launcher
- Make multiple instances, and attach some of them to
- Add a thumbnail to the context, the workfile, and all instances.
- Also, attach some images as reviews to instances.
- Try to publish.
Are there any labels you wish to add?
- I have added the relevant labels to the bug report.
Relevant log output:
Traceback (most recent call last):
File "C:\_Projects\Studio\dev\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 158, in process
self.register(instance, file_transactions, filtered_repres)
File "C:\_Projects\Studio\dev\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 256, in register
file_transactions.add(src, dst)
File "C:\_Projects\Studio\dev\ayon-core\client\ayon_core\lib\file_transaction.py", line 97, in add
raise DuplicateDestinationError(
ayon_core.lib.file_transaction.DuplicateDestinationError: Transfer to destination is already in queue: C:\Users\Admin\AppData\Local\Temp\pyblish_tmp_36w7m0yv\0a77a2d1c1814e8d81ca9498d4be6726_thumb.jpg -> P:\MyProject\assets\player_character\char_testGuy\publish\harmony.layeredtemplate\Main_lineart_harmony.layeredtemplate\v001\char_testGuy_Main_lineart_harmony.layeredtemplate_v001_thumbnail.jpg. It's not allowed to be replaced by a new transfer from C:\Users\Admin\AppData\Local\Temp\pyblish_tmp_oeoh7hl_\68ff44a6850e4394a845933d44df93b6_thumb.jpg
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Ynput\AYON\dependency_packages\ayon_2502101448_windows.zip\dependencies\pyblish\plugin.py", line 528, in __explicit_process
runner(*args)
File "C:\_Projects\Studio\dev\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 163, in process
raise KnownPublishError(exc).with_traceback(sys.exc_info()[2])
File "C:\_Projects\Studio\dev\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 158, in process
self.register(instance, file_transactions, filtered_repres)
File "C:\_Projects\Studio\dev\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 256, in register
file_transactions.add(src, dst)
File "C:\_Projects\Studio\dev\ayon-core\client\ayon_core\lib\file_transaction.py", line 97, in add
raise DuplicateDestinationError(
ayon_core.pipeline.publish.publish_plugins.KnownPublishError: Transfer to destination is already in queue: C:\Users\Admin\AppData\Local\Temp\pyblish_tmp_36w7m0yv\0a77a2d1c1814e8d81ca9498d4be6726_thumb.jpg -> P:\MyProject\assets\player_character\char_testGuy\publish\harmony.layeredtemplate\Main_lineart_harmony.layeredtemplate\v001\char_testGuy_Main_lineart_harmony.layeredtemplate_v001_thumbnail.jpg. It's not allowed to be replaced by a new transfer from C:\Users\Admin\AppData\Local\Temp\pyblish_tmp_oeoh7hl_\68ff44a6850e4394a845933d44df93b6_thumb.jpg
Additional context:
No response