Created
September 25, 2023 01:05
-
-
Save teddiur/083ca67c93dfa12af923543fff5fbd88 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from flask import Flask, request, jsonify | |
import sqlite3 | |
import PyPDF2 | |
app = Flask(__name__) | |
# Função para conectar ao banco de dados SQLite | |
def connect_db(): | |
return sqlite3.connect('documents.db') | |
# Rota para criar a tabela no banco de dados (opcional) | |
@app.route('/create_table', methods=['GET']) | |
def create_table(): | |
conn = connect_db() | |
cursor = conn.cursor() | |
cursor.execute(''' | |
CREATE TABLE IF NOT EXISTS pdf_documents ( | |
id INTEGER PRIMARY KEY AUTOINCREMENT, | |
filename TEXT NOT NULL, | |
content TEXT NOT NULL | |
) | |
''') | |
conn.commit() | |
conn.close() | |
return 'Tabela criada com sucesso' | |
# Rota para fazer upload e processar um documento PDF | |
@app.route('/upload_pdf', methods=['POST']) | |
def upload_pdf(): | |
uploaded_file = request.files['file'] | |
if uploaded_file.filename != '': | |
pdf_reader = PyPDF2.PdfReader(uploaded_file) | |
text = '' | |
for page_num in range(len(pdf_reader.pages)): | |
text += pdf_reader.pages[page_num].extract_text() | |
conn = connect_db() | |
cursor = conn.cursor() | |
cursor.execute('INSERT INTO pdf_documents (filename, content) VALUES (?, ?)', (uploaded_file.filename, text)) | |
a = cursor.execute('SELECT * FROM pdf_documents') | |
conn.commit() | |
print(a.fetchall()) | |
conn.close() | |
return 'Documento PDF processado e armazenado com sucesso' | |
else: | |
return 'Nenhum arquivo PDF enviado' | |
# Rota para listar todos os documentos armazenados | |
@app.route('/get_documents', methods=['GET']) | |
def get_documents(): | |
conn = connect_db() | |
cursor = conn.cursor() | |
cursor.execute('SELECT * FROM pdf_documents') | |
documents = cursor.fetchall() | |
conn.close() | |
document_list = [] | |
for doc in documents: | |
document_dict = { | |
'id': doc[0], | |
'filename': doc[1], | |
'content': doc[2] | |
} | |
document_list.append(document_dict) | |
return jsonify(document_list) | |
if __name__ == '__main__': | |
app.run(debug=True) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment