

def imprint_container(tool,
                      name,
                      namespace,
                      context,
                      loader=None):
    """Imprint a Loader with metadata

    Containerisation enables a tracking of version, author and origin
    for loaded assets.

    Arguments:
        tool (object): The node in Fusion to imprint as container, usually a
            Loader.
        name (str): Name of resulting assembly
        namespace (str): Namespace under which to host container
        context (dict): Asset information
        loader (str, optional): Name of loader used to produce this container.

    Returns:
        None

    """

    data = [
        ("schema", "avalon-core:container-2.0"),
        ("id", "pyblish.avalon.container"),
        ("name", str(name)),
        ("namespace", str(namespace)),
        ("loader", str(loader)),
        ("representation", str(context["representation"]["_id"])),
    ]

    for key, value in data:
        tool.SetData("avalon.{}".format(key), value)


def parse_container(tool):
    """Returns imprinted container data of a tool
    
    This reads the imprinted data from `imprint_container`.
    
    """
    container = {}
    for key in ['schema', 'id', 'name', 'namespace',
                'loader', 'representation']:
        value = tool.GetData('avalon.{}'.format(key))
        container[key] = value

    return container



def imprint_container(tool,
                      name,
                      namespace,
                      context,
                      loader=None):
    """Imprint a Loader with metadata

    Containerisation enables a tracking of version, author and origin
    for loaded assets.

    Arguments:
        tool (object): The node in Fusion to imprint as container, usually a
            Loader.
        name (str): Name of resulting assembly
        namespace (str): Namespace under which to host container
        context (dict): Asset information
        loader (str, optional): Name of loader used to produce this container.

    Returns:
        None

    """

    data = [
        ("schema", "avalon-core:container-2.0"),
        ("id", "pyblish.avalon.container"),
        ("name", str(name)),
        ("namespace", str(namespace)),
        ("loader", str(loader)),
        ("representation", str(context["representation"]["_id"])),
    ]

    for key, value in data:
        tool.SetData("avalon.{}".format(key), value)


def parse_container(tool):
    """Returns imprinted container data of a tool

    This reads the imprinted data from `imprint_container`.

    """
    container = {}
    for key in ['schema', 'id', 'name', 'namespace',
                'loader', 'representation']:
        value = tool.GetData('avalon.{}'.format(key))
        container[key] = value

    # Store the tool's name
    container["objectName"] = tool.Name

    return container

Store tool's name when parsing container
Store tool's name when parsing container

  
  
  def imprint_container(tool,
                        name,
                        namespace,
                        context,
                        loader=None):
      """Imprint a Loader with metadata
  
      Containerisation enables a tracking of version, author and origin
      for loaded assets.
  
      Arguments:
          tool (object): The node in Fusion to imprint as container, usually a
              Loader.
          name (str): Name of resulting assembly
          namespace (str): Namespace under which to host container
          context (dict): Asset information
          loader (str, optional): Name of loader used to produce this container.
  
      Returns:
          None
  
      """
  
      data = [
          ("schema", "avalon-core:container-2.0"),
          ("id", "pyblish.avalon.container"),
          ("name", str(name)),
          ("namespace", str(namespace)),
          ("loader", str(loader)),
          ("representation", str(context["representation"]["_id"])),
      ]
  
      for key, value in data:
          tool.SetData("avalon.{}".format(key), value)
  
  
  def parse_container(tool):
      """Returns imprinted container data of a tool
-     
+ 
      This reads the imprinted data from `imprint_container`.
-     
+ 
      """
      container = {}
      for key in ['schema', 'id', 'name', 'namespace',
                  'loader', 'representation']:
          value = tool.GetData('avalon.{}'.format(key))
          container[key] = value
  
+     # Store the tool's name
+     container["objectName"] = tool.Name
+ 
      return container
  
Store tool's name when parsing container
## Code Before:


def imprint_container(tool,
                      name,
                      namespace,
                      context,
                      loader=None):
    """Imprint a Loader with metadata

    Containerisation enables a tracking of version, author and origin
    for loaded assets.

    Arguments:
        tool (object): The node in Fusion to imprint as container, usually a
            Loader.
        name (str): Name of resulting assembly
        namespace (str): Namespace under which to host container
        context (dict): Asset information
        loader (str, optional): Name of loader used to produce this container.

    Returns:
        None

    """

    data = [
        ("schema", "avalon-core:container-2.0"),
        ("id", "pyblish.avalon.container"),
        ("name", str(name)),
        ("namespace", str(namespace)),
        ("loader", str(loader)),
        ("representation", str(context["representation"]["_id"])),
    ]

    for key, value in data:
        tool.SetData("avalon.{}".format(key), value)


def parse_container(tool):
    """Returns imprinted container data of a tool
    
    This reads the imprinted data from `imprint_container`.
    
    """
    container = {}
    for key in ['schema', 'id', 'name', 'namespace',
                'loader', 'representation']:
        value = tool.GetData('avalon.{}'.format(key))
        container[key] = value

    return container

## Instruction:
Store tool's name when parsing container
## Code After:


def imprint_container(tool,
                      name,
                      namespace,
                      context,
                      loader=None):
    """Imprint a Loader with metadata

    Containerisation enables a tracking of version, author and origin
    for loaded assets.

    Arguments:
        tool (object): The node in Fusion to imprint as container, usually a
            Loader.
        name (str): Name of resulting assembly
        namespace (str): Namespace under which to host container
        context (dict): Asset information
        loader (str, optional): Name of loader used to produce this container.

    Returns:
        None

    """

    data = [
        ("schema", "avalon-core:container-2.0"),
        ("id", "pyblish.avalon.container"),
        ("name", str(name)),
        ("namespace", str(namespace)),
        ("loader", str(loader)),
        ("representation", str(context["representation"]["_id"])),
    ]

    for key, value in data:
        tool.SetData("avalon.{}".format(key), value)


def parse_container(tool):
    """Returns imprinted container data of a tool

    This reads the imprinted data from `imprint_container`.

    """
    container = {}
    for key in ['schema', 'id', 'name', 'namespace',
                'loader', 'representation']:
        value = tool.GetData('avalon.{}'.format(key))
        container[key] = value

    # Store the tool's name
    container["objectName"] = tool.Name

    return container
