Spaces:
Sleeping
Sleeping
fschwartzer
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -2,12 +2,46 @@ import gradio as gr
|
|
2 |
import requests
|
3 |
import pandas as pd
|
4 |
from rapidfuzz import process, fuzz
|
|
|
5 |
|
6 |
bens_df = pd.read_excel('bens_tab.xlsx')
|
7 |
|
8 |
data_crawler = pd.read_csv('data_crawler.csv', index_col=False)
|
9 |
data_crawler = data_crawler[['Title', 'Price', 'Currency', 'Condition', 'Link', 'Marketplace']]
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
def fetch_data_to_dataframe(query, limit=50, source="mercadolibre"):
|
12 |
if source == "mercadolibre":
|
13 |
BASE_URL = "https://api.mercadolibre.com/sites/MLB/search"
|
@@ -167,7 +201,8 @@ def integrated_app(query, titulo, EC, PU, selected_rows):
|
|
167 |
|
168 |
fator_avaliacao = calcular_fator_avaliacao(titulo, EC, PU)
|
169 |
valor_avaliacao = df_nearest['Price'].mean() * fator_avaliacao
|
170 |
-
|
|
|
171 |
|
172 |
|
173 |
iface = gr.Interface(fn=integrated_app,
|
@@ -176,7 +211,7 @@ iface = gr.Interface(fn=integrated_app,
|
|
176 |
gr.Radio(label="Estado de Conservação do Bem", choices=['Excelente', 'Bom', 'Regular', 'Péssimo'], value="Excelente"),
|
177 |
gr.Number(label="Período utilizado (anos)", value=1),
|
178 |
gr.Textbox(label="IDs das linhas selecionadas (separadas por vírgula)", placeholder="Exemplo: 0,2,5")], # Using Textbox for IDs
|
179 |
-
outputs=[gr.Textbox(label="Cálculo"), gr.Dataframe(label="Resultados da Pesquisa")],
|
180 |
theme=gr.themes.Monochrome(),
|
181 |
title="<span style='color: gray; font-size: 48px;'>Avaliação de Bens Móveis</span>",
|
182 |
description="""<p style="text-align: left;"><b><span style='color: gray; font-size: 40px;'>aval</span><span style='color: black; font-size: 40px;'>ia</span><span style='color: gray; font-size: 40px;'>.se</b></p>""")
|
|
|
2 |
import requests
|
3 |
import pandas as pd
|
4 |
from rapidfuzz import process, fuzz
|
5 |
+
from docx import Document
|
6 |
|
7 |
bens_df = pd.read_excel('bens_tab.xlsx')
|
8 |
|
9 |
data_crawler = pd.read_csv('data_crawler.csv', index_col=False)
|
10 |
data_crawler = data_crawler[['Title', 'Price', 'Currency', 'Condition', 'Link', 'Marketplace']]
|
11 |
|
12 |
+
def get_report(query):
|
13 |
+
doc = Document()
|
14 |
+
|
15 |
+
# Adding a title
|
16 |
+
doc.add_heading('RELATÓRIO DE AVALIAÇÃO DE VALOR DE MERCADO – EXP.', level=1)
|
17 |
+
|
18 |
+
# Adding some details
|
19 |
+
doc.add_paragraph('Solicitante:')
|
20 |
+
doc.add_paragraph('Interessado:')
|
21 |
+
doc.add_paragraph('Proprietário:')
|
22 |
+
doc.add_paragraph('Objetivo da Avaliação: Definir o valor de mercado dos bens abaixo discriminados para registro no Patrimônio do Município.')
|
23 |
+
|
24 |
+
# Adding section heading and content
|
25 |
+
doc.add_heading('1. Características do(s) Avaliando(s):', level=2)
|
26 |
+
doc.add_paragraph('1.1 Avaliando 01:')
|
27 |
+
doc.add_paragraph(f'Descrição: {query}')
|
28 |
+
|
29 |
+
# Add evaluation section
|
30 |
+
doc.add_heading('2. Avaliação:', level=2)
|
31 |
+
doc.add_paragraph('2.1 Avaliando 01')
|
32 |
+
|
33 |
+
# Add market research section
|
34 |
+
doc.add_heading('3. Pesquisa de Mercado:', level=2)
|
35 |
+
|
36 |
+
today_date = datetime.now().strftime('%d/%m/%Y')
|
37 |
+
doc.add_paragraph(f'Lajeado/RS, {today_date}')
|
38 |
+
|
39 |
+
doc.add_paragraph('Membros da Comissão:')
|
40 |
+
|
41 |
+
# Save the document
|
42 |
+
doc.save('laudo.docx')
|
43 |
+
|
44 |
+
|
45 |
def fetch_data_to_dataframe(query, limit=50, source="mercadolibre"):
|
46 |
if source == "mercadolibre":
|
47 |
BASE_URL = "https://api.mercadolibre.com/sites/MLB/search"
|
|
|
201 |
|
202 |
fator_avaliacao = calcular_fator_avaliacao(titulo, EC, PU)
|
203 |
valor_avaliacao = df_nearest['Price'].mean() * fator_avaliacao
|
204 |
+
get_report(query)
|
205 |
+
return f"Valor Médio do Bem: R$ {df_nearest['Price'].mean():.2f}, Fator de Avaliação: {fator_avaliacao*100:.2f}%, Valor de Avaliação: R$ {valor_avaliacao:.2f}", df_nearest, 'laudo.docx'
|
206 |
|
207 |
|
208 |
iface = gr.Interface(fn=integrated_app,
|
|
|
211 |
gr.Radio(label="Estado de Conservação do Bem", choices=['Excelente', 'Bom', 'Regular', 'Péssimo'], value="Excelente"),
|
212 |
gr.Number(label="Período utilizado (anos)", value=1),
|
213 |
gr.Textbox(label="IDs das linhas selecionadas (separadas por vírgula)", placeholder="Exemplo: 0,2,5")], # Using Textbox for IDs
|
214 |
+
outputs=[gr.Textbox(label="Cálculo"), gr.Dataframe(label="Resultados da Pesquisa"), gr.File(label="Laudo de Avaliação")],
|
215 |
theme=gr.themes.Monochrome(),
|
216 |
title="<span style='color: gray; font-size: 48px;'>Avaliação de Bens Móveis</span>",
|
217 |
description="""<p style="text-align: left;"><b><span style='color: gray; font-size: 40px;'>aval</span><span style='color: black; font-size: 40px;'>ia</span><span style='color: gray; font-size: 40px;'>.se</b></p>""")
|