Skip to content

Commit c7d4bca

Browse files
committed
Update code documentation
1 parent 3585e7a commit c7d4bca

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

bin/Debug/netcoreapp3.1/pdfconverter.py

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,15 @@ def Main():
9393
setTerminalFile("closed")
9494

9595
try:
96-
# Remove extensão do arquivo, pegando apenas o nome e atribui para a temporária
96+
# Remove extensão do arquivo, pegando apenas o nome e
97+
# atribui para a temporária
9798
fileName = pdfFile[:-4]
9899

99100
# Pega o número de páginas que o PDF contém
100101
pdf = PdfFileReader(open(pdfFile, "rb"))
101102
pdfNumberOfPages = pdf.getNumPages()
102103

103-
# Abre o leiaute para o terminal
104+
# Cria o título para leitura do arquivo no terminal
104105
setTerminalFile("open")
105106
print(
106107
pdfFile + strGiantLine + "\n" +
@@ -131,16 +132,16 @@ def Main():
131132

132133
# >> LEITURA <<
133134
# Desc:
134-
# Fazendo leitura do arquivo completo e passando como lista de DataFrames
135-
# para a variável
135+
# Fazendo leitura do arquivo completo e passando como
136+
# lista de DataFrames para a variável
136137
tableListOfDataFrames = tabula.read_pdf(
137138
pdfFile,
138139
guess = True,
140+
lattice = boolLattice,
139141
multiple_tables = True,
140142
pages = "all",
141-
silent = True,
142-
lattice = boolLattice,
143-
pandas_options = {"dtype": "str"}
143+
pandas_options = {"dtype": "str"},
144+
silent = True
144145
)
145146

146147
# >> CONVERSÃO <<
@@ -155,9 +156,8 @@ def Main():
155156
conversionStart(conversionMethod, tableDataFrame)
156157
formatTextFile(conversionMethod)
157158

158-
# Atribuindo mais um ao índice para indicar que os arquivos foram convertidos
159+
# Atribuindo mais um ao índice para indicar que o arquivo PDF foi convertido
159160
indexFile = indexFile + 1
160-
161161
except Exception as err:
162162
showError("Ocorreu um erro ao tentar realizar a leitura do arquivo '" + pdfFile + "'.", err)
163163
break
@@ -175,7 +175,7 @@ def Main():
175175
file = txtOutputFile
176176
)
177177
setTerminalFile("closed")
178-
# Se até o término da operação nenhum PDF foi convertido ainda
178+
# Se ainda até o término da operação nenhum PDF foi convertido
179179
# exibe um erro
180180
else:
181181
showError("Não há arquivos de PDF para serem convertidos.", "")
@@ -189,7 +189,8 @@ def Main():
189189

190190
# >> DEFINE O LOCAL DA RAÍZ DO PROJETO <<
191191
# Desc:
192-
# Define o local da raíz do projeto, onde os outros caminhos irão se basear
192+
# Define o local da raíz do projeto, onde os outros caminhos irão
193+
# se basear
193194
def setCurrentPath():
194195
try:
195196
# ---------------------------------------------------------------------- #
@@ -213,14 +214,16 @@ def setCurrentPath():
213214
# (pdfconverter\bin\Debug\netcoreapp3.1)
214215
# \___[a diminuição de caracteres faz voltar até a pasta 'pdfconverter']
215216

217+
# Passa para a variável global o caminho do arquivo de texto do terminal
216218
txtOutputFilePath = currentPath + "\\resultados\\output.txt"
217219
except Exception as err:
218220
showError(
219221
"Não foi possível achar o diretório atual. Provável problema na hora de encurtar o "
220-
"caminho, verifique se o caminho passado na variável 'currentPath' dentro do método "
221-
"'setCurrentPath' está correto."
222+
"caminho, verifique se o caminho passado na variável 'currentPath' dentro do "
223+
"método 'setCurrentPath' está correto.",
222224

223-
, err)
225+
err
226+
)
224227

225228
# >> DEFINE A ESTRUTURA DE PASTAS DO PROJETO <<
226229
# Desc:
@@ -276,10 +279,9 @@ def setProjectStructure():
276279
).mkdir(parents = True, exist_ok = True)
277280

278281

279-
# Cria arquivo para exibir a saída do terminal,
280-
# se já existir o arquivo, limpa o mesmo
281-
outputClear = open(txtOutputFilePath, "w", encoding="UTF-8")
282-
outputClear.close()
282+
# Cria arquivo para exibir a saída do terminal, se já
283+
# existir o arquivo, limpa o mesmo
284+
open(txtOutputFilePath, "w").close()
283285

284286
# >> CONFIGURAÇÕES DO PANDAS <<
285287
# Desc:
@@ -331,8 +333,8 @@ def showError(errorMessage, err):
331333

332334
txtOutputFile = open(txtOutputFilePath, "a", encoding="UTF-8")
333335
print(
334-
"**********************************************************************\n"
335-
"--- MENSAGEM ---\n"
336+
"======================================================================\n"
337+
"[ MENSAGEM ]\n"
336338
"\n"
337339
"ERRO\n"
338340
"Descrição: " + errorMessage + "\n",
@@ -347,7 +349,7 @@ def showError(errorMessage, err):
347349

348350
# Fecha o layout
349351
print(
350-
"**********************************************************************",
352+
"======================================================================",
351353

352354
file = txtOutputFile
353355
)
@@ -365,9 +367,10 @@ def showError(errorMessage, err):
365367
# Isso é necessário para fazer com que não haja quebra de linha onde o DataFrame identifica
366368
# como cabeçalho (título) da tabela caso o conteúdo delas seja muito grande.
367369
# Isso acontece porque o título tem uma formatação gerada pelo DataFrame que difere-se do corpo,
368-
# o que acaba permitindo que isso ocorra.
370+
# o que acaba permitindo que isso ocorra. O trabalho dessa função é transformar o cabeçalho em
371+
# um texto de campo comum.
369372
def turnHeaderInSimpleRow(tableDataFrame):
370-
# Limpa a lista que vai ser usada para manipular o cabeçalho no DataFrame
373+
# Cria e limpa a lista que vai ser usada para manipular o cabeçalho no DataFrame
371374
tableDataFrameHeader = []
372375

373376
# Pegando o cabeçalho da tabela e passando ela como lista para a temporária
@@ -379,7 +382,7 @@ def turnHeaderInSimpleRow(tableDataFrame):
379382
# Removendo o cabeçalho do DataFrame atual
380383
tableDataFrame = tableDataFrame.T.reset_index().T.reset_index(drop=True)
381384

382-
# Adicionando a lista como primeira linha do DataFrame temporário
385+
# Adicionando a lista como primeira linha do corpo do DataFrame temporário
383386
tableDataFrameHeader.insert(1, tableDataFrameHeader)
384387

385388
# Concatenando tabela temporária à tabela principal
@@ -408,9 +411,11 @@ def conversionStart(conversionMethod, tableDataFrame):
408411
turnHeaderInSimpleRow(tableDataFrame)
409412

410413
# Removendo quebras de linha
411-
# O primeiro replace remove as que ocorrem por conta do corpo ser muito grande
412-
# O segundo replace remove as que acontecem por conta do ponto e vírgula
413-
tableDataFrame = tableDataFrame.replace({r"\r": " "}, regex=True).replace({r";": ","}, regex=True)
414+
# Remove quebras de linha do DataFrame que acontecem por conta do corpo ser
415+
# muito grande
416+
tableDataFrame.replace({r"\r": " "}, inplace=True, regex=True)
417+
# Remove ponto e vírgula do DataFrame para evitar conflitos
418+
tableDataFrame.replace({r";": ","}, inplace=True, regex=True)
414419

415420
# Define o caminho do arquivo atual para a variável global txtFilePath
416421
txtFilePath = currentPath + "\\resultados\\" + conversionMethod + "\\withoutFormatting\\" + fileName + ".txt"

0 commit comments

Comments
 (0)