code: def shot_add_asset(self, *args, **kwargs):
          
          if not self.cur_shot:
              return
          dialog = AssetAdderDialog(shot=self.cur_shot)
          dialog.exec_()
          assets = dialog.assets
          atypes = {}
          for c in self.shot_asset_model.root.childItems:
              atypes[c.internal_data()] = c
          for asset in assets:
              atypeitem = atypes.get(asset.atype)
              if not atypeitem:
                  atypedata = djitemdata.AtypeItemData(asset.atype)
                  atypeitem = treemodel.TreeItem(atypedata, self.shot_asset_model.root)
                  atypes[asset.atype] = atypeitem
              assetdata = djitemdata.AssetItemData(asset)
              treemodel.TreeItem(assetdata, atypeitem)
          self.cur_shot.save()
docs: Add more assets to the shot.
  
          :returns: None
          :rtype: None
          :raises: None