[:arrow_left:](/WQum2tYYSXGaBjnU2wMxzQ)To Pirata Dashboard [:arrow_left:](/FQqugZ49RLOLDOdm0Z1GlQ?both)To TD Dashboard # **DUPLICATE TO ASSET TEST** TD_Pirata ###### tags: `TD` `Notice` Il s’agit de pouvoir dupliquer un asset existant pour effectuer des tests sans impacter l’asset de prod. Les différentes étapes de création sont: * -création d’un asset lib avec le même template que l’asset lib selectionné * nommage Test<current_asset_lib> * -création dans Shotgun * -création filesystem * -création d’un asset avec le même template que l’asset selectionné * -nommage Test<current_asset> * -création dans Shotgun * -création filesystem * -copie et renommage des fichiers de l’asset lib et de l’asset dans le nouveau répertoire * -création des versions et des publish du nouvel asset * -modification des scènes maya, renommage des top nodes le script de création de l’asset test est le suivant: C:\Shotgun\tk-framework-millimages\hooks\tk_multi_crudfiles\duplicate_asset_test.py **Il faut réferencer le plugin dans :** C:\Shotgun\tk-config-millimages\env\includes\settings_pirataetcapitano02\tk-multi-crudfiles\default.yml ``` - name: Duplicate Asset Test hook: "{self}/open_routine.py:{tk-framework-millimages_vx.x.x}/tk_multi_crudfiles/duplicate_asset_test.py" engine: tk-maya engine_version: 2020 batch_mode: True settings: {} plugins: [] ``` **Il faut également mettre à jour le fichier suivant pour que le menu soit disponible pour les assets:** C:\Shotgun\tk-config-millimages\env\includes\settings\tk-shotgun\asset.yml avec ceci: ################################################################################ includes: - ../../engine_locations.yml - ../tk-multi-launchapp/default.yml - ../tk-multi-publish2/default.yml - ../tk-multi-screeningroom/default.yml - ../tk-shotgun-folders/default.yml - ../tk-shotgun-launchfolder/default.yml - ../tk-shotgun-batcher/default.yml - ../tk-multi-crudfiles/default.yml ################################################################################ settings.tk-shotgun: apps: tk-multi-launchapp: "@settings.tk-multi-launchapp" tk-multi-publish2: "@settings.tk-multi-publish2.tk-desktop2" tk-multi-screeningroom: "@settings.tk-multi-screeningroom.rv" tk-shotgun-folders: "@settings.tk-shotgun-folders" tk-shotgun-launchfolder: "@settings.tk-shotgun-launchfolder" tk-multi-crudfiles: "@settings.tk-multi-crudfiles" location: "@engines.tk-shotgun.location" settings.tk-shotgun.step: apps: tk-multi-launchapp: "@settings.tk-multi-launchapp.step" tk-multi-publish2: "@settings.tk-multi-publish2.tk-desktop2" tk-multi-screeningroom: "@settings.tk-multi-screeningroom.rv" tk-shotgun-launchfolder: "@settings.tk-shotgun-launchfolder" tk-shotgun-batcher: "@settings.tk-shotgun-batcher" tk-multi-crudfiles: "@settings.tk-multi-crudfiles" location: "@engines.tk-shotgun.location" **Pour finir il faut mettre à jour le fichier suivant: C:\Shotgun\tk-multi-crudfiles\app.py** ajout dans `def init_app(self):` ``` duplicate_asset_name = "Duplicate..." parameters = { "title": duplicate_asset_name, "deny_permissions": deny_permissions, "deny_platforms": deny_platforms, "supports_multiple_selection": True, "short_name": "duplicate_asset" } ``` duplicate_asset_callback = lambda entity_type, entity_ids: self.duplicate_asset(entity_type, entity_ids) self.engine.register_command(duplicate_asset_name, duplicate_asset_callback, parameters) et ajout de: ``` def duplicate_asset(self, entity_type, entity_ids): if not entity_ids: self.log_info("No entities specified!") return plugin_name = "Duplicate Asset Test" for entity_id in entity_ids: plugin_input = [{"asset_id": entity_id}] self.execute_plugin(plugin_name, plugin_input=plugin_input) ```