• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python etree.tostring函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中pynfe.utils.etree.tostring函数的典型用法代码示例。如果您正苦于以下问题:Python tostring函数的具体用法?Python tostring怎么用?Python tostring使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了tostring函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: assinar

    def assinar(self, xml, retorna_string=False):
        # busca tag que tem id(reference_uri), logo nao importa se tem namespace
        reference = xml.find(".//*[@Id]").attrib['Id']
        #print('Referencia: ',reference)
        # retira acentos
        xml_str = remover_acentos(etree.tostring(xml, encoding="unicode", pretty_print=False))
        xml = etree.fromstring(xml_str)

        signer = XMLSigner(
            method=signxml.methods.enveloped, signature_algorithm="rsa-sha1",
            digest_algorithm='sha1',
            c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315')

        ns = {None: signer.namespaces['ds']}
        signer.namespaces = ns
        #print('Chave......: ',self.key)
        #print('*',200)
        #print('Certificado: ',self.cert)
        ref_uri = ('#%s' % reference) if reference else None
        signed_root = signer.sign(
            xml, key=self.key, cert=self.cert, reference_uri=ref_uri)

        ns = {'ns': NAMESPACE_SIG}
        # coloca o certificado na tag X509Data/X509Certificate
        tagX509Data = signed_root.find('.//ns:X509Data', namespaces=ns)
        etree.SubElement(tagX509Data, 'X509Certificate').text = self.cert
        #print('Assinatura: ',etree.tostring(signed_root, encoding="unicode", pretty_print=False) )
        if retorna_string:
            return etree.tostring(signed_root, encoding="unicode", pretty_print=False)
        else:
            return signed_root
开发者ID:joselobinho,项目名称:PyNFe,代码行数:31,代码来源:assinatura.py


示例2: assinarLote

    def assinarLote(self, xml, retorna_string=True):
        "Assina nfse e lote"
        try:
            xml = self.assinarNfse(xml, retorna_string=False)
            xpath = './/ns1:LoteRps'
            tag = 'LoteRps'
            # define namespaces, pega do proprio xml
            namespaces = xml.nsmap
            # No raiz do XML de saida
            raiz = etree.Element('Signature', xmlns='http://www.w3.org/2000/09/xmldsig#')
            siginfo = etree.SubElement(raiz, 'SignedInfo')
            etree.SubElement(siginfo, 'CanonicalizationMethod', Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315')
            etree.SubElement(siginfo, 'SignatureMethod', Algorithm='http://www.w3.org/2000/09/xmldsig#rsa-sha1')
            # Tenta achar a tag
            ref = etree.SubElement(siginfo, 'Reference', URI='#' +
                                   xml.xpath(xpath, namespaces=namespaces)[0].attrib['Id'])
            trans = etree.SubElement(ref, 'Transforms')
            etree.SubElement(trans, 'Transform', Algorithm='http://www.w3.org/2000/09/xmldsig#enveloped-signature')
            etree.SubElement(trans, 'Transform', Algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315')
            etree.SubElement(ref, 'DigestMethod', Algorithm='http://www.w3.org/2000/09/xmldsig#sha1')
            etree.SubElement(ref, 'DigestValue')
            etree.SubElement(raiz, 'SignatureValue')
            keyinfo = etree.SubElement(raiz, 'KeyInfo')
            etree.SubElement(keyinfo, 'X509Data')

            # posiciona tag Signature antes do LoteRps para assinar
            base = xml.xpath(xpath+'/..', namespaces=namespaces)[0]
            base.insert(0, raiz)

            # Escreve no arquivo depois de remover caracteres especiais
            with open('nfse.xml', 'w') as arquivo:
                texto = remover_acentos(etree.tostring(xml, encoding="unicode", pretty_print=False))
                arquivo.write(texto)
            # assina lote
            subprocess.call(['xmlsec1', '--sign', '--pkcs12', self.certificado,
                             '--pwd', self.senha, '--crypto', 'openssl', '--output',
                             'nfse.xml', '--id-attr:Id', tag, 'nfse.xml'])

            # Reposiciona tag Signature apos LoteRps
            xml = etree.fromstring(open('nfse.xml', 'r').read())
            namespaces = xml.nsmap
            sig = xml.find('{http://www.w3.org/2000/09/xmldsig#}Signature')
            sig.getparent().remove(sig)
            xml.append(sig)

            if retorna_string:
                return etree.tostring(xml, encoding="unicode", pretty_print=False)
            else:
                return xml
        except Exception as e:
            raise e
开发者ID:adrianobalani,项目名称:PyNFe,代码行数:51,代码来源:assinatura.py


示例3: _serializar_emitente

    def _serializar_emitente(self, emitente, tag_raiz='emit', retorna_string=True):
        raiz = etree.Element(tag_raiz)

        # Dados do emitente
        etree.SubElement(raiz, 'CNPJ').text = so_numeros(emitente.cnpj)
        etree.SubElement(raiz, 'xNome').text = emitente.razao_social
        etree.SubElement(raiz, 'xFant').text = emitente.nome_fantasia
        etree.SubElement(raiz, 'IE').text = emitente.inscricao_estadual

        # Endereço
        endereco = etree.SubElement(raiz, 'enderEmit')
        etree.SubElement(endereco, 'xLgr').text = emitente.endereco_logradouro
        etree.SubElement(endereco, 'nro').text = emitente.endereco_numero
        etree.SubElement(endereco, 'xCpl').text = emitente.endereco_complemento
        etree.SubElement(endereco, 'xBairro').text = emitente.endereco_bairro
        etree.SubElement(endereco, 'cMun').text = obter_codigo_por_municipio(
            emitente.endereco_municipio, emitente.endereco_uf)
        etree.SubElement(endereco, 'xMun').text = emitente.endereco_municipio
        etree.SubElement(endereco, 'UF').text = emitente.endereco_uf
        etree.SubElement(endereco, 'CEP').text = so_numeros(emitente.endereco_cep)
        etree.SubElement(endereco, 'cPais').text = emitente.endereco_pais
        etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(emitente.endereco_pais)
        etree.SubElement(endereco, 'fone').text = emitente.endereco_telefone

        if retorna_string:
            return etree.tostring(raiz, pretty_print=True)
        else:
            return raiz
开发者ID:YACOWS,项目名称:PyNFe,代码行数:28,代码来源:serializacao.py


示例4: _serializar_evento

    def _serializar_evento(self, evento, tag_raiz="evento", retorna_string=False):

        # timezone Brasília -03:00
        tz = time.strftime("%z")
        tz = "{}:{}".format(tz[:-2], tz[-2:])
        # import ipdb
        # ipdb.set_trace()
        raiz = etree.Element(tag_raiz, versao="1.00", xmlns=NAMESPACE_NFE)
        e = etree.SubElement(raiz, "infEvento", Id=evento.identificador)
        etree.SubElement(e, "cOrgao").text = CODIGOS_ESTADOS[evento.uf.upper()]
        etree.SubElement(e, "tpAmb").text = str(self._ambiente)
        etree.SubElement(e, "CNPJ").text = evento.cnpj  # Empresas somente terão CNPJ
        # etree.SubElement(e, 'CPF').text = ''
        etree.SubElement(e, "chNFe").text = evento.chave
        etree.SubElement(e, "dhEvento").text = evento.data_emissao.strftime("%Y-%m-%dT%H:%M:%S") + tz
        etree.SubElement(e, "tpEvento").text = evento.tp_evento
        etree.SubElement(e, "nSeqEvento").text = str(evento.n_seq_evento)
        etree.SubElement(e, "verEvento").text = "1.00"
        det = etree.SubElement(e, "detEvento", versao="1.00")
        etree.SubElement(det, "descEvento").text = evento.descricao
        etree.SubElement(det, "nProt").text = evento.protocolo
        etree.SubElement(det, "xJust").text = evento.justificativa

        if retorna_string:
            return etree.tostring(raiz, encoding="unicode", pretty_print=True)
        else:
            return raiz
开发者ID:arilsonsantos,项目名称:PyNFe,代码行数:27,代码来源:serializacao.py


示例5: _serializar_permissoes

        def _serializar_permissoes(tag_raiz='Permissoes', retorna_string=True):
            raiz = etree.Element(tag_raiz)

            # Permissões referente ao módulo NFC-e
            p_nfce = etree.SubElement(raiz, 'PermissaoNFCe')
            etree.SubElement(p_nfce, 'Visualizar').text = "S"
            etree.SubElement(p_nfce, 'Baixar').text = "S"

            # Permissões gerais da aplicação
            p_geral = etree.SubElement(raiz, 'PermissoesGerais')
            etree.SubElement(p_geral, 'ImportarDocumentos').text = "N"
            etree.SubElement(p_geral, 'AlterarDadosDoUsuario').text = "S"
            etree.SubElement(p_geral, 'AlterarDadosDaEmpresa').text = "N"
            etree.SubElement(p_geral, 'AlterarMarcasDaEmpresa').text = "N"
            etree.SubElement(p_geral, 'AlterarCertificadosDaEmpresa').text = "S"
            etree.SubElement(p_geral, 'AlterarConfiguracoesParametros').text = "N"
            etree.SubElement(p_geral, 'CadastrarEmpresas').text = "N"
            etree.SubElement(p_geral, 'AlterarCaixasDeEmail').text = "S"
            etree.SubElement(p_geral, 'AlterarPermissoesDeUsuario').text = "S"
            etree.SubElement(p_geral, 'AdicionarNovosUsuarios').text = "S"
            etree.SubElement(p_geral, 'VisualizarChaveAcesso').text = "N"
            etree.SubElement(p_geral, 'VisualizarAcoesDeUsuarios').text = "S"
            etree.SubElement(p_geral, 'VisualizarQuantidadesEmitidas').text = "S"
            etree.SubElement(p_geral, 'VisualizarLicencas').text = "S"
            etree.SubElement(p_geral, 'ConfiguracaoSenha').text = "N"
            etree.SubElement(p_geral, 'GerarRelatorios').text = "S"
            etree.SubElement(p_geral, 'InutilizarDocumentos').text = "S"
            etree.SubElement(p_geral, 'FerramentasIntegracao').text = "N"

            if retorna_string:
                return etree.tostring(raiz, encoding="unicode", pretty_print=True)
            else:
                return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:33,代码来源:cadastro_nova_empresa.py


示例6: _serializar_evento

    def _serializar_evento(self, evento, tag_raiz='EnvioEvento', retorna_string=True):

        raiz = etree.Element(tag_raiz)

        etree.SubElement(raiz, 'ModeloDocumento').text = 'NFCe'
        etree.SubElement(raiz, 'Versao').text = self._versao

        # timezone Brasília -03:00
        tz = time.strftime("%z")

        event = etree.SubElement(raiz, 'Evento')
        etree.SubElement(event, 'NtfCnpjEmissor').text = so_numeros(evento.cnpj)
        etree.SubElement(event, 'NtfNumero').text = evento.numero
        etree.SubElement(event, 'NtfSerie').text = evento.serie
        etree.SubElement(event, 'tpAmb').text = str(self._ambiente)

        eve_info = etree.SubElement(event, 'EveInf')
        etree.SubElement(eve_info, 'EveDh').text = evento.data_emissao.strftime(
            '%Y-%m-%dT%H:%M:%S')
        etree.SubElement(eve_info, 'EveFusoHorario').text = "{}:{}".format(
            tz[:-2], tz[-2:])
        etree.SubElement(eve_info, 'EveTp').text = evento.tp_evento
        etree.SubElement(eve_info, 'EvenSeq').text = str(evento.n_seq_evento)

        eve_det = etree.SubElement(eve_info, 'Evedet')
        etree.SubElement(eve_det, 'EveDesc').text = evento.descricao
        etree.SubElement(eve_det, 'EvenProt').text = evento.protocolo
        etree.SubElement(eve_det, 'EvexJust').text = evento.justificativa

        if retorna_string:
            return etree.tostring(raiz, encoding="unicode", pretty_print=True)
        else:
            return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:33,代码来源:cancelamento_migrate.py


示例7: _antes_de_assinar_ou_verificar

    def _antes_de_assinar_ou_verificar(self, raiz):
        # Converte etree para string
        xml = etree.tostring(raiz, xml_declaration=True, encoding='utf-8')

        # Ativa funções criptográficas
        self._ativar_funcoes_criptograficas()

        # Colocamos o texto no avaliador XML FIXME: descobrir forma de evitar o uso do libxml2 neste processo
        doc_xml = libxml2.parseMemory(xml, len(xml))
    
        # Cria o contexto para manipulação do XML via sintaxe XPATH
        ctxt = doc_xml.xpathNewContext()
        ctxt.xpathRegisterNs(u'sig', NAMESPACE_SIG)
    
        # Separa o nó da assinatura
        noh_assinatura = ctxt.xpathEval(u'//*/sig:Signature')[0]
    
        # Buscamos a chave no arquivo do certificado
        chave = xmlsec.cryptoAppKeyLoad(
                filename=str(self.certificado.caminho_arquivo),
                format=xmlsec.KeyDataFormatPkcs12,
                pwd=str(self.senha),
                pwdCallback=None,
                pwdCallbackCtx=None,
                )
    
        # Cria a variável de chamada (callable) da função de assinatura
        assinador = xmlsec.DSigCtx()
    
        # Atribui a chave ao assinador
        assinador.signKey = chave

        return doc_xml, ctxt, noh_assinatura, assinador
开发者ID:danielgoncalves,项目名称:PyNFe,代码行数:33,代码来源:assinatura.py


示例8: exportar

    def exportar(self, destino=None, retorna_string=False, limpar=True, **kwargs):
        """Gera o(s) arquivo(s) de Consulta Nota Fiscal eletronica
            no padrao oficial da migrate, invocity
        @param destino -
        @param retorna_string - Retorna uma string para debug.
        @param limpar - Limpa a fonte de dados para não gerar xml com dados duplicados.
        """
        try:
            # Carrega lista de Notas Fiscais
            consultas = self._fonte_dados.obter_lista(_classe=ConsultaPuloNumeracao,
                                                      **kwargs)

            for consulta in consultas:
                raiz = self._serializar_pulo(consulta, retorna_string=False)

            if retorna_string:
                return etree.tostring(raiz, encoding="unicode", pretty_print=False)
            else:
                return raiz
        except:
            raise

        finally:
            if limpar:
                self._fonte_dados.limpar_dados()
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:25,代码来源:serializacao_consulta.py


示例9: _serializar_evento

    def _serializar_evento(self, evento, tag_raiz='evento', retorna_string=False):

        # timezone Brasília -03:00
        tz = time.strftime("%z")
        tz = "{}:{}".format(tz[:-2], tz[-2:])
        raiz = etree.Element(tag_raiz, versao='1.00', xmlns=NAMESPACE_NFE)
        e = etree.SubElement(raiz, 'infEvento', Id=evento.identificador)
        etree.SubElement(e, 'cOrgao').text = CODIGOS_ESTADOS[evento.uf.upper()]
        etree.SubElement(e, 'tpAmb').text = str(self._ambiente)
        etree.SubElement(e, 'CNPJ').text = evento.cnpj # Empresas somente terão CNPJ
        #etree.SubElement(evento, 'CPF').text = ''
        etree.SubElement(e, 'chNFe').text = evento.chave
        etree.SubElement(e, 'dhEvento').text = evento.data_emissao.strftime('%Y-%m-%dT%H:%M:%S') + tz
        etree.SubElement(e, 'tpEvento').text = evento.tp_evento
        etree.SubElement(e, 'nSeqEvento').text = str(evento.n_seq_evento)
        etree.SubElement(e, 'verEvento').text = '1.00'
        det = etree.SubElement(e, 'detEvento', versao='1.00')
        etree.SubElement(det, 'descEvento').text = evento.descricao
        etree.SubElement(det, 'nProt').text = evento.protocolo
        etree.SubElement(det, 'xJust').text = evento.justificativa

        if retorna_string:
            return etree.tostring(raiz, encoding="unicode", pretty_print=True)
        else:
            return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:25,代码来源:serializacao.py


示例10: exportar

    def exportar(self, destino=None, retorna_string=False, limpar=True, **kwargs):
        """Gera o(s) arquivo(s) de Nota Fiscal eletronica no padrao oficial da SEFAZ
        e Receita Federal, para ser(em) enviado(s) para o webservice ou para ser(em)
        armazenado(s) em cache local.
        @param destino -
        @param retorna_string - Retorna uma string para debug.
        @param limpar - Limpa a fonte de dados para não gerar xml com dados duplicados.
        """
        try:
            # Carrega lista de Notas Fiscais
            notas_fiscais = self._fonte_dados.obter_lista(_classe=NotaFiscal, **kwargs)

            for nf in notas_fiscais:
                raiz = self._serializar_nota_fiscal(nf, retorna_string=False)

            if retorna_string:
                return etree.tostring(raiz, encoding="unicode", pretty_print=False)
            else:
                return raiz
        except Exception:
            raise

        finally:
            if limpar:
                self._fonte_dados.limpar_dados()
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:25,代码来源:serializacao_migrate.py


示例11: _serializar_consulta

    def _serializar_consulta(self, consulta, tag_raiz='Consulta', retorna_string=True):

        raiz = etree.Element(tag_raiz)

        etree.SubElement(raiz, 'ModeloDocumento').text = 'NFCe'
        etree.SubElement(raiz, 'Versao').text = self._versao
        etree.SubElement(raiz, 'tpAmb').text = str(self._ambiente)
        etree.SubElement(raiz, 'CnpjEmpresa').text = so_numeros(consulta.cnpj)
        etree.SubElement(raiz, 'CnpjEmissor').text = so_numeros(consulta.cnpj)

        if consulta.numero_inicial:
            etree.SubElement(raiz, 'NumeroInicial').text = str(consulta.numero_inicial)
        if consulta.numero_final:
            etree.SubElement(raiz, 'NumeroFinal').text = str(consulta.numero_final)
        etree.SubElement(raiz, 'Serie').text = str(consulta.serie)

        if consulta.chave_acesso:
            etree.SubElement(raiz, 'ChaveAcesso').text = str(consulta.chave_acesso)

        if consulta.data_inicial and consulta.data_final:
            etree.SubElement(
                raiz, 'DataEmissaoInicial').text = consulta.data_inicial.strftime("%Y-%m-%d")
            etree.SubElement(
                raiz, 'DataEmissaoFinal').text = consulta.data_final.strftime("%Y-%m-%d")

        if retorna_string:
            return etree.tostring(raiz, encoding="unicode", pretty_print=True)
        else:
            return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:29,代码来源:serializacao_consulta.py


示例12: _cabecalho_soap

    def _cabecalho_soap(self):
        u"""Monta o XML do cabeçalho da requisição SOAP"""

        raiz = etree.Element('cabecMsg', xmlns=NAMESPACE_NFE, versao="1.02")
        etree.SubElement(raiz, 'versaoDados').text = self._versao

        return etree.tostring(raiz, encoding='utf-8', xml_declaration=True)
开发者ID:IvanSingular,项目名称:PyNFe,代码行数:7,代码来源:comunicacao.py


示例13: _serializar_cliente

    def _serializar_cliente(self, cliente, tag_raiz='dest', retorna_string=True):
        raiz = etree.Element(tag_raiz)

        # Dados do cliente
        etree.SubElement(raiz, cliente.tipo_documento).text = so_numeros(cliente.numero_documento)
        etree.SubElement(raiz, 'xNome').text = cliente.razao_social
        etree.SubElement(raiz, 'IE').text = cliente.inscricao_estadual

        # Endereço
        endereco = etree.SubElement(raiz, 'enderDest')
        etree.SubElement(endereco, 'xLgr').text = cliente.endereco_logradouro
        etree.SubElement(endereco, 'nro').text = cliente.endereco_numero
        etree.SubElement(endereco, 'xCpl').text = cliente.endereco_complemento
        etree.SubElement(endereco, 'xBairro').text = cliente.endereco_bairro
        etree.SubElement(endereco, 'cMun').text = cliente.endereco_municipio
        etree.SubElement(endereco, 'xMun').text = obter_municipio_por_codigo(
                cliente.endereco_municipio, cliente.endereco_uf,
                )
        etree.SubElement(endereco, 'UF').text = cliente.endereco_uf
        etree.SubElement(endereco, 'CEP').text = so_numeros(cliente.endereco_cep)
        etree.SubElement(endereco, 'cPais').text = cliente.endereco_pais
        etree.SubElement(endereco, 'xPais').text = obter_pais_por_codigo(cliente.endereco_pais)
        etree.SubElement(endereco, 'fone').text = cliente.endereco_telefone

        if retorna_string:
            return etree.tostring(raiz, pretty_print=True)
        else:
            return raiz
开发者ID:danielgoncalves,项目名称:PyNFe,代码行数:28,代码来源:serializacao.py


示例14: exportar

    def exportar(self, destino=None, retorna_string=False, limpar=True, **kwargs):
        """Gera o(s) arquivo(s) de Nota Fiscal eletronica no padrao oficial da SEFAZ
        e Receita Federal, para ser(em) enviado(s) para o webservice ou para ser(em)
        armazenado(s) em cache local.
        @param destino -
        @param retorna_string - Retorna uma string para debug.
        @param limpar - Limpa a fonte de dados para não gerar xml com dados duplicados.
        """
        try:
            # No raiz do XML de saida
            raiz = etree.Element("NFe", xmlns=NAMESPACE_NFE)

            # Carrega lista de Notas Fiscais
            notas_fiscais = self._fonte_dados.obter_lista(_classe=NotaFiscal, **kwargs)

            for nf in notas_fiscais:
                raiz.append(self._serializar_nota_fiscal(nf, retorna_string=False))
                # Grupo de informaçoes suplementares NT2015.002
                # Somente para NFC-e
                # if nf.modelo == 65:
                #     info = etree.Element('infNFeSupl')
                #     etree.SubElement(info, 'qrCode').text = ''
                #     raiz.append(info)

            if retorna_string:
                return etree.tostring(raiz, encoding="unicode", pretty_print=False)
            else:
                return raiz
        except Exception as e:
            raise e
        finally:
            if limpar:
                self._fonte_dados.limpar_dados()
开发者ID:arilsonsantos,项目名称:PyNFe,代码行数:33,代码来源:serializacao.py


示例15: _serializar_parametros_nfce

        def _serializar_parametros_nfce(tag_raiz='NFCe', retorna_string=True):

            def _serializar_contingencia(tag_raiz='OrdemContingencia',
                                         retorna_string=True):
                raiz = etree.Element(tag_raiz)

                orderm = etree.SubElement(raiz, 'OrdemContingenciaItem')
                etree.SubElement(orderm, 'OrdemContingenciaNFCe').text = '0'

                if retorna_string:
                    return etree.tostring(raiz, encoding="unicode", pretty_print=True)
                else:
                    return raiz

            # Parâmetros referente ao módulo NFC-e
            raiz = etree.Element(tag_raiz)
            etree.SubElement(
                raiz, 'InutilizarAutomaticamenteDocumentosRejeitados').text = 'N'
            etree.SubElement(raiz, 'InutilizarPulosNumeracao').text = 'N'
            etree.SubElement(raiz, 'FormaRetornoPDFIntegracao').text = '3'
            etree.SubElement(raiz, 'FormaRetornoXMLIntegracao').text = '3'
            etree.SubElement(raiz, 'UltimoNSU').text = '000000000000000'
            etree.SubElement(raiz, 'IDTokenCscSEFAZ').text = empresa.token
            etree.SubElement(raiz, 'CscSEFAZ').text = empresa.csc
            etree.SubElement(raiz, 'PossuiLeituraX').text = 'S'
            etree.SubElement(raiz, 'PossuiGeracaoRelatorios').text = 'S'

            raiz.append(_serializar_contingencia(retorna_string=False))

            if retorna_string:
                return etree.tostring(raiz, encoding="unicode", pretty_print=True)
            else:
                return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:33,代码来源:cadastro_nova_empresa.py


示例16: exportar

    def exportar(self, destino=None, retorna_string=False, limpar=True, **kwargs):
        """Gera o(s) arquivo(s) de Cancelamento Nota Fiscal eletronica
            no padrao oficial da migrate, invocity
        @param destino -
        @param retorna_string - Retorna uma string para debug.
        @param limpar - Limpa a fonte de dados para não gerar xml com dados duplicados.
        """
        try:
            # Carrega lista de Notas Fiscais
            eventos = self._fonte_dados.obter_lista(_classe=EventoCancelarNotaMigrate,
                                                    **kwargs)

            for evento in eventos:
                raiz = self._serializar_evento(evento, retorna_string=False)

            if retorna_string:
                return etree.tostring(raiz, encoding="unicode", pretty_print=False)
            else:
                return raiz
        except Exception as e:
            raise e

        finally:
            if limpar:
                self._fonte_dados.limpar_dados()
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:25,代码来源:cancelamento_migrate.py


示例17: _serializar_emitente

    def _serializar_emitente(self, emitente, tag_raiz="emit", retorna_string=True):
        raiz = etree.Element(tag_raiz)

        # Dados do emitente
        etree.SubElement(raiz, "CNPJ").text = so_numeros(emitente.cnpj)
        etree.SubElement(raiz, "xNome").text = emitente.razao_social
        etree.SubElement(raiz, "xFant").text = emitente.nome_fantasia
        etree.SubElement(raiz, "IE").text = emitente.inscricao_estadual

        # Endereço
        endereco = etree.SubElement(raiz, "enderEmit")
        etree.SubElement(endereco, "xLgr").text = emitente.endereco_logradouro
        etree.SubElement(endereco, "nro").text = emitente.endereco_numero
        etree.SubElement(endereco, "xCpl").text = emitente.endereco_complemento
        etree.SubElement(endereco, "xBairro").text = emitente.endereco_bairro
        etree.SubElement(endereco, "cMun").text = emitente.endereco_municipio
        etree.SubElement(endereco, "xMun").text = obter_municipio_por_codigo(
            emitente.endereco_municipio, emitente.endereco_uf
        )
        etree.SubElement(endereco, "UF").text = emitente.endereco_uf
        etree.SubElement(endereco, "CEP").text = so_numeros(emitente.endereco_cep)
        etree.SubElement(endereco, "cPais").text = emitente.endereco_pais
        etree.SubElement(endereco, "xPais").text = obter_pais_por_codigo(emitente.endereco_pais)
        etree.SubElement(endereco, "fone").text = emitente.endereco_telefone

        if retorna_string:
            return etree.tostring(raiz, pretty_print=True)
        else:
            return raiz
开发者ID:infabinho,项目名称:PyNFe,代码行数:29,代码来源:serializacao.py


示例18: _serializar_parametros

    def _serializar_parametros(self, empresa, tag_raiz='Parametros', retorna_string=True):

        def _serializar_parametros_nfce(tag_raiz='NFCe', retorna_string=True):

            def _serializar_contingencia(tag_raiz='OrdemContingencia',
                                         retorna_string=True):
                raiz = etree.Element(tag_raiz)

                orderm = etree.SubElement(raiz, 'OrdemContingenciaItem')
                etree.SubElement(orderm, 'OrdemContingenciaNFCe').text = '0'

                if retorna_string:
                    return etree.tostring(raiz, encoding="unicode", pretty_print=True)
                else:
                    return raiz

            # Parâmetros referente ao módulo NFC-e
            raiz = etree.Element(tag_raiz)
            etree.SubElement(
                raiz, 'InutilizarAutomaticamenteDocumentosRejeitados').text = 'N'
            etree.SubElement(raiz, 'InutilizarPulosNumeracao').text = 'N'
            etree.SubElement(raiz, 'FormaRetornoPDFIntegracao').text = '3'
            etree.SubElement(raiz, 'FormaRetornoXMLIntegracao').text = '3'
            etree.SubElement(raiz, 'UltimoNSU').text = '000000000000000'
            etree.SubElement(raiz, 'IDTokenCscSEFAZ').text = empresa.token
            etree.SubElement(raiz, 'CscSEFAZ').text = empresa.csc
            etree.SubElement(raiz, 'PossuiLeituraX').text = 'S'
            etree.SubElement(raiz, 'PossuiGeracaoRelatorios').text = 'S'

            raiz.append(_serializar_contingencia(retorna_string=False))

            if retorna_string:
                return etree.tostring(raiz, encoding="unicode", pretty_print=True)
            else:
                return raiz

        raiz = etree.Element(tag_raiz)
        etree.SubElement(raiz, 'OrientDANFE').text = '1'
        etree.SubElement(raiz, 'InfCplVerso').text = 'N'
        etree.SubElement(raiz, 'DhImpressao').text = 'S'
        etree.SubElement(raiz, 'ImpTributos').text = '3'
        etree.SubElement(raiz, 'DescICMS').text = 'N'
        etree.SubElement(raiz, 'EnviarPDFEmail').text = 'N'
        etree.SubElement(raiz, 'EnviarXMLEmail').text = 'N'
        etree.SubElement(raiz, 'ReaprovDocsRejeitados').text = 'N'
        etree.SubElement(raiz, 'InutPulosNumeracao').text = 'N'
        etree.SubElement(raiz, 'IdTokenNFCe').text = empresa.token
        etree.SubElement(raiz, 'CSCNFCe').text = empresa.csc

        # NFC-e
        raiz.append(_serializar_parametros_nfce(retorna_string=False))

        if retorna_string:
            return etree.tostring(raiz, encoding="unicode", pretty_print=True)
        else:
            return raiz
开发者ID:cesarbruschetta,项目名称:PyNFe,代码行数:56,代码来源:cadastro_nova_empresa.py


示例19: nfeInutilizacaoNF

    def nfeInutilizacaoNF(self, raiz):
        data_hora = datetime.datetime.now().strftime('%Y-%m-%dT%H:%M:%S')

        ret = etree.Element('retInutNFe')
        etree.SubElement(ret, 'versao').text = '1.00' # FIXME

        xml_dados = raiz.getroot().getchildren()[0].getchildren()[0].getchildren()[1].text

        xml = etree.tostring(ret, encoding='utf-8', xml_declaration=True)
        self.write(xml)
开发者ID:danielgoncalves,项目名称:PyNFe,代码行数:10,代码来源:run_fake_soap_server.py


示例20: autorizacao

 def autorizacao(self, nota):
     # url do serviço
     url = self._get_url()
     if self.autorizador == 'BETHA':
         # xml
         xml = etree.tostring(nota, encoding='unicode', pretty_print=False)
         # comunica via wsdl
         return self._post(url, xml, 'gerar')
     else:
         raise Exception('Este método só esta implementado no autorizador betha.')
开发者ID:leotada,项目名称:PyNFe,代码行数:10,代码来源:comunicacao.py



注:本文中的pynfe.utils.etree.tostring函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python models.DBSession类代码示例发布时间:2022-05-27
下一篇:
Python utils.so_numeros函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap