---
# System prepended metadata

title: '**DUPLICATE TO ASSET TEST** TD_Pirata'
tags: [TD, Notice]

---


[: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)
```
