def _serialize_issnet_dados_tomador(self):
     dados = self._prepare_dados_tomador()
     return tcDadosTomador(
         IdentificacaoTomador=tcIdentificacaoTomador(
             CpfCnpj=tcCpfCnpj(
                 Cnpj=self.convert_type_nfselib(tcCpfCnpj, 'Cnpj',
                                                dados['cnpj']),
                 Cpf=self.convert_type_nfselib(tcCpfCnpj, 'Cpf',
                                               dados['cpf']),
             ),
             InscricaoMunicipal=self.convert_type_nfselib(
                 tcIdentificacaoTomador, 'InscricaoMunicipal',
                 dados['inscricao_municipal']) if dados['codigo_municipio']
             == int('%s' % (self.company_id.partner_id.city_id.ibge_code))
             else None,
         ),
         RazaoSocial=self.convert_type_nfselib(tcDadosTomador,
                                               'RazaoSocial',
                                               dados['razao_social']),
         Endereco=tcEndereco(
             Endereco=self.convert_type_nfselib(tcEndereco, 'Endereco',
                                                dados['endereco']),
             Numero=self.convert_type_nfselib(tcEndereco, 'Numero',
                                              dados['numero']),
             Complemento=self.convert_type_nfselib(
                 tcEndereco, 'Complemento', dados['complemento']),
             Bairro=self.convert_type_nfselib(tcEndereco, 'Bairro',
                                              dados['bairro']),
             Cidade=self.convert_type_nfselib(tcEndereco, 'Cidade',
                                              dados['codigo_municipio']),
             Estado=self.convert_type_nfselib(tcEndereco, 'Estado',
                                              dados['uf']),
             Cep=self.convert_type_nfselib(tcEndereco, 'Cep', dados['cep']),
         ) or None,
     )
 def _serialize_lote_rps(self):
     dados = self._prepare_lote_rps()
     return tcLoteRps(
         CpfCnpj=tcCpfCnpj(Cnpj=self.convert_type_nfselib(
             tcCpfCnpj, 'Cnpj', dados['cnpj']), ),
         InscricaoMunicipal=self.convert_type_nfselib(
             tcLoteRps, 'InscricaoMunicipal', dados['inscricao_municipal']),
         QuantidadeRps=1,
         ListaRps=ListaRpsType(Rps=[self._serialize_rps(dados)]))
 def _serialize_issnet_lote_rps(self):
     dados = self._prepare_lote_rps()
     return tcLoteRps(
         CpfCnpj=tcCpfCnpj(Cnpj=self.convert_type_nfselib(
             tcCpfCnpj, "Cnpj", dados["cnpj"]), ),
         InscricaoMunicipal=self.convert_type_nfselib(
             tcLoteRps, "InscricaoMunicipal", dados["inscricao_municipal"]),
         QuantidadeRps=1,
         ListaRps=ListaRpsType(Rps=[self._serialize_issnet_rps(dados)]),
     )
    def _serialize_issnet_rps(self, dados):

        return tcRps(InfRps=tcInfRps(
            id=dados["id"],
            IdentificacaoRps=tcIdentificacaoRps(
                Numero=self.convert_type_nfselib(tcIdentificacaoRps, "Numero",
                                                 dados["numero"]),
                Serie=self.convert_type_nfselib(tcIdentificacaoRps, "Serie",
                                                dados["serie"]),
                Tipo=self.convert_type_nfselib(tcIdentificacaoRps, "Tipo",
                                               dados["tipo"]),
            ),
            DataEmissao=self.convert_type_nfselib(tcInfRps, "DataEmissao",
                                                  dados["data_emissao"]),
            NaturezaOperacao=self.convert_type_nfselib(
                tcInfRps, "NaturezaOperacao", dados["natureza_operacao"]),
            RegimeEspecialTributacao=self.convert_type_nfselib(
                tcInfRps,
                "RegimeEspecialTributacao",
                dados["regime_especial_tributacao"],
            ),
            OptanteSimplesNacional=self.convert_type_nfselib(
                tcInfRps,
                "OptanteSimplesNacional",
                dados["optante_simples_nacional"],
            ),
            IncentivadorCultural=self.convert_type_nfselib(
                tcInfRps, "IncentivadorCultural",
                dados["incentivador_cultural"]),
            Status=self.convert_type_nfselib(tcInfRps, "Status",
                                             dados["status"]),
            RpsSubstituido=self.convert_type_nfselib(
                tcInfRps, "RpsSubstituido", dados["rps_substitiuido"]),
            Servico=self._serialize_issnet_dados_servico(),
            Prestador=tcIdentificacaoPrestador(
                CpfCnpj=tcCpfCnpj(Cnpj=self.convert_type_nfselib(
                    tcCpfCnpj, "Cnpj", dados["cnpj"]), ),
                InscricaoMunicipal=self.convert_type_nfselib(
                    tcIdentificacaoPrestador,
                    "InscricaoMunicipal",
                    dados["inscricao_municipal"],
                ),
            ),
            Tomador=self._serialize_issnet_dados_tomador(),
            IntermediarioServico=self.convert_type_nfselib(
                tcInfRps, "IntermediarioServico",
                dados["intermediario_servico"]),
            ConstrucaoCivil=self.convert_type_nfselib(
                tcInfRps, "ConstrucaoCivil", dados["construcao_civil"]),
        ))
    def _serialize_rps(self, dados):

        return tcRps(InfRps=tcInfRps(
            id=dados['id'],
            IdentificacaoRps=tcIdentificacaoRps(
                Numero=self.convert_type_nfselib(tcIdentificacaoRps, 'Numero',
                                                 dados['numero']),
                Serie=self.convert_type_nfselib(tcIdentificacaoRps, 'Serie',
                                                dados['serie']),
                Tipo=self.convert_type_nfselib(tcIdentificacaoRps, 'Tipo',
                                               dados['tipo']),
            ),
            DataEmissao=self.convert_type_nfselib(tcInfRps, 'DataEmissao',
                                                  dados['data_emissao']),
            NaturezaOperacao=self.convert_type_nfselib(
                tcInfRps, 'NaturezaOperacao', dados['natureza_operacao']),
            RegimeEspecialTributacao=self.convert_type_nfselib(
                tcInfRps, 'RegimeEspecialTributacao',
                dados['regime_especial_tributacao']),
            OptanteSimplesNacional=self.convert_type_nfselib(
                tcInfRps, 'OptanteSimplesNacional',
                dados['optante_simples_nacional']),
            IncentivadorCultural=self.convert_type_nfselib(
                tcInfRps, 'IncentivadorCultural',
                dados['incentivador_cultural']),
            Status=self.convert_type_nfselib(tcInfRps, 'Status',
                                             dados['status']),
            RpsSubstituido=self.convert_type_nfselib(
                tcInfRps, 'RpsSubstituido', dados['rps_substitiuido']),
            Servico=self._serialize_dados_servico(),
            Prestador=tcIdentificacaoPrestador(
                CpfCnpj=tcCpfCnpj(Cnpj=self.convert_type_nfselib(
                    tcCpfCnpj, 'Cnpj', dados['cnpj']), ),
                InscricaoMunicipal=self.convert_type_nfselib(
                    tcIdentificacaoPrestador, 'InscricaoMunicipal',
                    dados['inscricao_municipal']),
            ),
            Tomador=self._serialize_dados_tomador(),
            IntermediarioServico=self.convert_type_nfselib(
                tcInfRps, 'IntermediarioServico',
                dados['intermediario_servico']),
            ConstrucaoCivil=self.convert_type_nfselib(
                tcInfRps, 'ConstrucaoCivil', dados['construcao_civil']),
        ))
 def _serialize_issnet_dados_tomador(self):
     dados = self._prepare_dados_tomador()
     return tcDadosTomador(
         IdentificacaoTomador=tcIdentificacaoTomador(
             CpfCnpj=tcCpfCnpj(
                 Cnpj=self.convert_type_nfselib(tcCpfCnpj, "Cnpj",
                                                dados["cnpj"]),
                 Cpf=self.convert_type_nfselib(tcCpfCnpj, "Cpf",
                                               dados["cpf"]),
             ),
             InscricaoMunicipal=self.convert_type_nfselib(
                 tcIdentificacaoTomador,
                 "InscricaoMunicipal",
                 dados["inscricao_municipal"],
             ) if dados["codigo_municipio"] == int(
                 "%s" %
                 (self.company_id.partner_id.city_id.ibge_code)) else None,
         ),
         RazaoSocial=self.convert_type_nfselib(tcDadosTomador,
                                               "RazaoSocial",
                                               dados["razao_social"]),
         Endereco=tcEndereco(
             Endereco=self.convert_type_nfselib(tcEndereco, "Endereco",
                                                dados["endereco"]),
             Numero=self.convert_type_nfselib(tcEndereco, "Numero",
                                              dados["numero"]),
             Complemento=self.convert_type_nfselib(
                 tcEndereco, "Complemento", dados["complemento"]),
             Bairro=self.convert_type_nfselib(tcEndereco, "Bairro",
                                              dados["bairro"]),
             Cidade=self.convert_type_nfselib(tcEndereco, "Cidade",
                                              dados["codigo_municipio"]),
             Estado=self.convert_type_nfselib(tcEndereco, "Estado",
                                              dados["uf"]),
             Cep=self.convert_type_nfselib(tcEndereco, "Cep", dados["cep"]),
         ) or None,
     )