コード例 #1
0
def readTxt(caminho,
            encoding='utf-8',
            treatAsText=False,
            removeBlankLines=False):
    lista_linha = []

    # le o arquivo e grava num vetor
    try:
        with open(caminho, 'rt') as txtfile:
            for linha in txtfile:
                linha = str(linha).replace("\n", "")
                if treatAsText is True:
                    linha = treatsFieldAsText(linha)
                if removeBlankLines is True:
                    if linha.strip() == "":
                        continue
                lista_linha.append(linha)
    except Exception:
        lista_linha.clear()
        with open(caminho, 'rt', encoding='Windows-1252') as txtfile:
            for linha in txtfile:
                linha = str(linha).replace("\n", "")
                if treatAsText is True:
                    linha = treatsFieldAsText(linha)
                if removeBlankLines is True:
                    if linha.strip() == "":
                        continue
                lista_linha.append(linha)

    return lista_linha
コード例 #2
0
 def process(self) -> Union[Dict[str, str], None]:
     ncm = self._dataNcm['ncm']
     nameNcm = treatsFieldAsText(
         returnDataInDictOrArray(self._dataNcm, ['exportacao', ncm]))
     if nameNcm != "":
         return {"ncm": ncm, "nameNcm": nameNcm}
     else:
         nameNcm = treatsFieldAsText(
             returnDataInDictOrArray(self._dataNcm, ['importacao', ncm]))
         if nameNcm != "":
             return {"ncm": ncm, "nameNcm": nameNcm}
         return None
コード例 #3
0
    def getData(self) -> dict:
        self._getCnpjOrCpf()

        self._objEmitente['inscricao_federal'] = self._inscricaoFederal
        self._objEmitente['tipo_inscricao_federal'] = self._tipoInscricaoFederal
        self._objEmitente['razao_social'] = treatsFieldAsText(returnDataInDictOrArray(self._dataTagEmit, ['xNome']))
        self._objEmitente['nome_fantasia'] = treatsFieldAsText(returnDataInDictOrArray(self._dataTagEmit, ['xFant']))
        self._objEmitente['inscricao_estadual'] = returnDataInDictOrArray(self._dataTagEmit, ['IE'])
        self._objEmitente['regime_empresa'] = treatsFieldAsNumber(returnDataInDictOrArray(self._dataTagEmit, ['CRT']), True)
        self._objEmitente['endereco'] = self._getAddress()

        return self._objEmitente
コード例 #4
0
    def getData(self):
        for key, dataTagDet in enumerate(self._listDataTagDet):

            self._objDet['numero_item'] = key + 1
            self._objDet['codigo_produto'] = returnDataInDictOrArray(
                dataTagDet, ['prod', 'cProd'])
            self._objDet['nome_produto'] = treatsFieldAsText(
                returnDataInDictOrArray(dataTagDet, ['prod', 'xProd']))
            self._objDet['global_trade_item_number'] = returnDataInDictOrArray(
                dataTagDet, ['prod', 'cEAN'])
            self._objDet['ncm'] = returnDataInDictOrArray(
                dataTagDet, ['prod', 'NCM'])
            self._objDet['cfop'] = treatsFieldAsNumber(returnDataInDictOrArray(
                dataTagDet, ['prod', 'CFOP']),
                                                       isInt=True)
            self._objDet['unidade'] = returnDataInDictOrArray(
                dataTagDet, ['prod', 'uCom'])
            self._objDet['quantidade'] = treatsFieldAsDecimal(
                returnDataInDictOrArray(dataTagDet, ['prod', 'qCom']), 4)
            self._objDet['valor_unitario'] = treatsFieldAsDecimal(
                returnDataInDictOrArray(dataTagDet, ['prod', 'vUnCom']), 10)
            self._objDet['valor_produto'] = treatsFieldAsDecimal(
                returnDataInDictOrArray(dataTagDet, ['prod', 'vProd']), 10)
            self._objDet['valor_frete'] = treatsFieldAsDecimal(
                returnDataInDictOrArray(dataTagDet, ['prod', 'vFrete']), 10)
            self._objDet['vseg'] = treatsFieldAsDecimal(
                returnDataInDictOrArray(dataTagDet, ['prod', 'vSeg']), 10)
            self._objDet['valor_outros'] = treatsFieldAsDecimal(
                returnDataInDictOrArray(dataTagDet, ['prod', 'vOutro']), 10)
            self._objDet['valor_desconto'] = treatsFieldAsDecimal(
                returnDataInDictOrArray(dataTagDet, ['prod', 'vDesc']), 10)
            self._objDet['valor_total'] = self.__amountValorContabil()
            self._objDet['informacao_adicionais'] = treatsFieldAsText(
                returnDataInDictOrArray(dataTagDet, ['infAdProd']))

            self._objListTagDet.append(self._objDet.copy())
            self._objDet.clear()

        return self._objListTagDet
コード例 #5
0
    def bebidaFria(self):
        tagsNecessaries = ['bebidas_frias']

        ncm = self._dataNcm['ncm']
        nameNcm = treatsFieldAsText(returnDataInDictOrArray(self._dataNcm, ['bebidas_frias', ncm]))
        dataTagsNecessaries = returnDataInDictOrArray(self._dataNcm, tagsNecessaries, None)
        if dataTagsNecessaries is not None:
            if self._returnOnlyValueNcm is False:
                return {
                    "ncm": ncm,
                    "nameNcm": nameNcm,
                    "tag": 'BebidaFria',
                    "dataTag": ""
                }
            else:
                return ncm
コード例 #6
0
    def cstSNVendaVarejista(self):
        tagsNecessaries = ['bebidas_frias', 'codigo_da_situacao_tributaria_cst', 'simples_nacional',
                           'saida_(venda_pelo_comercio_varejista)']

        ncm = self._dataNcm['ncm']
        nameNcm = treatsFieldAsText(returnDataInDictOrArray(self._dataNcm, ['bebidas_frias', ncm]))
        dataTagsNecessaries = returnDataInDictOrArray(self._dataNcm, tagsNecessaries, None)
        if dataTagsNecessaries is not None:
            if self._returnOnlyValueNcm is False:
                return {
                    "ncm": ncm,
                    "nameNcm": nameNcm,
                    "tag": 'BebidaFria_CST_SN_SaidaVendaComercioVarejista',
                    "dataTag": dataTagsNecessaries
                }
            else:
                return ncm
コード例 #7
0
    def getData(self) -> dict:
        self._getCnpjOrCpf()

        self._objDestinatario['inscricao_federal'] = self._inscricaoFederal
        self._objDestinatario[
            'tipo_inscricao_federal'] = self._tipoInscricaoFederal
        self._objDestinatario['id_estrangeiro'] = self._idEstrangeiro
        self._objDestinatario['razao_social'] = treatsFieldAsText(
            returnDataInDictOrArray(self._dataTagDest, ['xNome']))
        self._objDestinatario[
            'indicador_inscricao_estadual'] = treatsFieldAsNumber(
                returnDataInDictOrArray(self._dataTagDest, ['indIEDest']),
                True)
        self._objDestinatario['inscricao_estadual'] = returnDataInDictOrArray(
            self._dataTagDest, ['IE'])
        self._objDestinatario['inscricao_municipal'] = returnDataInDictOrArray(
            self._dataTagDest, ['IM'])
        self._objDestinatario['endereco'] = self._getAddress()

        return self._objDestinatario