Adds the complete content of all specfile entries from the subContainer
    to the mainContainer. However if a specfile of ``subContainer.info`` is
    already present in ``mainContainer.info`` its contents are not added to the
    mainContainer.

    :param mainContainer: :class:`MsrunContainer`
    :param subContainer: :class:`MsrunContainer`

    .. warning:: does not generate new items, all items added to the
        ``mainContainer`` are still present in the ``subContainer`` and changes
        made to elements of one container also affects the elements of the other
        one (ie elements share same memory location).

def addMsrunContainers(mainContainer, subContainer):
    """Adds the complete content of all specfile entries from the subContainer
    to the mainContainer. However if a specfile of ``subContainer.info`` is
    already present in ``mainContainer.info`` its contents are not added to the
    mainContainer.

    :param mainContainer: :class:`MsrunContainer`
    :param subContainer: :class:`MsrunContainer`

    .. warning:: does not generate new items, all items added to the
        ``mainContainer`` are still present in the ``subContainer`` and changes
        made to elements of one container also affects the elements of the other
        one (ie elements share same memory location).
    """
    typeToContainer = {'rm': 'rmc', 'ci': 'cic', 'smi': 'smic',
                       'sai': 'saic', 'si': 'sic'
                       }
    for specfile in subContainer.info:
        if specfile in mainContainer.info:
            continue

        mainContainer.addSpecfile(specfile, subContainer.info[specfile]['path'])
        for datatype, status in listitems(subContainer.info[specfile]['status']):
            if not status:
                continue
            datatypeContainer = typeToContainer[datatype]
            dataTypeContainer = getattr(mainContainer, datatypeContainer)
            subContainerData = getattr(subContainer,
                                       datatypeContainer
                                       )[specfile]
            dataTypeContainer[specfile] = subContainerData
            mainContainer.info[specfile]['status'][datatype] = True