def dados_qrcode(cfe):
    """Compila os dados que compõem o QRCode do CF-e-SAT, conforme a
    documentação técnica oficial **Guia para Geração do QRCode pelo Aplicativo
    Comercial**, a partir de uma instância de ``ElementTree`` que represente a
    árvore do XML do CF-e-SAT.

    :param cfe: Instância de :py:mod:`xml.etree.ElementTree.ElementTree`.
    :return: String contendo a massa de dados para ser usada ao gerar o QRCode.
    :rtype: str

    Por exemplo, para gerar a imagem do QRCode [#qrcode]_:

    .. sourcecode:: python

        import xml.etree.ElementTree as ET
        import qrcode

        with open('CFe_1.xml', 'r') as fp:
            tree = ET.parse(fp)
            imagem = qrcode.make(dados_qrcode(tree))

    .. [#qrcode] https://pypi.python.org/pypi/qrcode

    """
    infCFe = cfe.getroot().find('./infCFe')
    cnpjcpf_consumidor = infCFe.findtext('dest/CNPJ') or infCFe.findtext(
        'dest/CPF') or ''
    return '|'.join([infCFe.attrib['Id'][3:], '{}{}'.format(infCFe.findtext
        ('ide/dEmi'), infCFe.findtext('ide/hEmi')), infCFe.findtext(
        'total/vCFe'), cnpjcpf_consumidor, infCFe.findtext(
        'ide/assinaturaQRCODE')])
