MatteoScript commited on
Commit
f99af3a
·
verified ·
1 Parent(s): ce7380f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +61 -64
app.py CHANGED
@@ -281,69 +281,6 @@ def inizializza():
281
  if 'initialized' not in st.session_state:
282
  st.session_state['initialized'] = True
283
 
284
- def main():
285
- with st.sidebar:
286
- comuni_provincia_Brescia = get_elenco_comuni('Brescia')
287
- comuni_provincia_Bergamo = get_elenco_comuni('Bergamo')
288
- comuni_provincia = comuni_provincia_Brescia + comuni_provincia_Bergamo
289
- st.title("Filtri")
290
-
291
- st.tipologia_case = st.selectbox("Tipologia", ("Acquisto Immobile", "Asta Immobiliare"))
292
- elenco = [d['comune'] for d in comuni_provincia]
293
- comune_input = st.multiselect(
294
- "Comuni",
295
- elenco
296
- )
297
- prezzo_minimo = st.sidebar.slider("Prezzo Minimo (k)", min_value=0, max_value=1000, value=200)
298
- prezzo_massimo = st.sidebar.slider("Prezzo Massimo (k)", min_value=0, max_value=1000, value=230)
299
- locali = list(range(1, 21)) # Intervallo da 1 a 10
300
- locali_range = st.sidebar.select_slider(
301
- "Locali",
302
- options=locali,
303
- value=(locali[2], locali[4]) # Valore iniziale, da 1 a 5 locali
304
- )
305
- st.mostra_grafici = st.toggle("Mostra grafici", value = True)
306
-
307
- st.modello_ai = st.selectbox("Modello A.I.", ("Llama 3.1", "Mixtral 7x8b"))
308
- st.analisi_ai = st.toggle("Analizza i dati tramite l'A.I.", value = True)
309
-
310
- locali_minimo, locali_massimo = locali_range
311
- prezzo_minimo = prezzo_minimo*1000
312
- prezzo_massimo = prezzo_massimo*1000
313
- cerca_premuto = st.button("Cerca", use_container_width=True, type='primary')
314
-
315
- if cerca_premuto:
316
- if len(comune_input)>0:
317
- comuni_selezionati = comune_input
318
- comuni_selezionati = [comune.upper() for comune in comuni_selezionati]
319
- output = []
320
- output_singolo = []
321
- for comune_provincia in comuni_provincia:
322
- if comune_provincia['comune'].upper() in comuni_selezionati:
323
- with st.spinner(f"Ricerca Immobili Comune: {comune_provincia['comune']}"):
324
- output_singolo = json.loads(scrape_immobiliare(comune_provincia['provincia'],
325
- comune_provincia['comune'],
326
- comune_provincia['prezzo'],
327
- prezzo_minimo,
328
- prezzo_massimo,
329
- locali_minimo,
330
- locali_massimo))
331
- scrivi_dataframe(output_singolo, False, comune_provincia['comune'])
332
- output += output_singolo
333
- if len(comuni_selezionati)>1 and st.numero_immobili_validi>1:
334
- st.write(f"### Comuni Selezionati")
335
- scrivi_dataframe(output, True, '')
336
- if st.numero_immobili_validi > 0 and st.analisi_ai:
337
- st.title("✨ Analisi Intelligenza Artificiale")
338
- st.write("### Considerazioni")
339
- analizza_dati_ai(output, 1)
340
- #st.divider()
341
- #st.write("### Dettagliata")
342
- #analizza_dati_ai(output, 2)
343
- st.success("Elaborazione Completata")
344
- else:
345
- st.error("Per favore, inserisci il nome di un comune.")
346
-
347
  def login_page():
348
  login_container = st.empty()
349
  with login_container:
@@ -373,7 +310,67 @@ st.write("##### Il tuo assistente di intelligenza artificiale per la ricerca di
373
  with st.expander("Informazioni"):
374
  st.write("Immobiliare A.I. è la webapp che semplifica la ricerca di immobili, grazie a algoritmi avanzati che calcolano il vantaggio di ogni offerta. Trova le migliori occasioni sul mercato con analisi precise e personalizzate. Scopri l’immobile giusto per te con facilità e sicurezza!")
375
  inizializza()
376
- main()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
 
378
  #if 'initialized' not in st.session_state:
379
  # st.session_state['initialized'] = True
 
281
  if 'initialized' not in st.session_state:
282
  st.session_state['initialized'] = True
283
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
  def login_page():
285
  login_container = st.empty()
286
  with login_container:
 
310
  with st.expander("Informazioni"):
311
  st.write("Immobiliare A.I. è la webapp che semplifica la ricerca di immobili, grazie a algoritmi avanzati che calcolano il vantaggio di ogni offerta. Trova le migliori occasioni sul mercato con analisi precise e personalizzate. Scopri l’immobile giusto per te con facilità e sicurezza!")
312
  inizializza()
313
+ with st.sidebar:
314
+ comuni_provincia_Brescia = get_elenco_comuni('Brescia')
315
+ comuni_provincia_Bergamo = get_elenco_comuni('Bergamo')
316
+ comuni_provincia = comuni_provincia_Brescia + comuni_provincia_Bergamo
317
+ st.title("Filtri")
318
+
319
+ st.tipologia_case = st.selectbox("Tipologia", ("Acquisto Immobile", "Asta Immobiliare"))
320
+ elenco = [d['comune'] for d in comuni_provincia]
321
+ comune_input = st.multiselect(
322
+ "Comuni",
323
+ elenco
324
+ )
325
+ prezzo_minimo = st.sidebar.slider("Prezzo Minimo (k)", min_value=0, max_value=1000, value=200)
326
+ prezzo_massimo = st.sidebar.slider("Prezzo Massimo (k)", min_value=0, max_value=1000, value=230)
327
+ locali = list(range(1, 21)) # Intervallo da 1 a 10
328
+ locali_range = st.sidebar.select_slider(
329
+ "Locali",
330
+ options=locali,
331
+ value=(locali[2], locali[4]) # Valore iniziale, da 1 a 5 locali
332
+ )
333
+ st.mostra_grafici = st.toggle("Mostra grafici", value = True)
334
+
335
+ st.modello_ai = st.selectbox("Modello A.I.", ("Llama 3.1", "Mixtral 7x8b"))
336
+ st.analisi_ai = st.toggle("Analizza i dati tramite l'A.I.", value = True)
337
+
338
+ locali_minimo, locali_massimo = locali_range
339
+ prezzo_minimo = prezzo_minimo*1000
340
+ prezzo_massimo = prezzo_massimo*1000
341
+ cerca_premuto = st.button("Cerca", use_container_width=True, type='primary')
342
+
343
+ if cerca_premuto:
344
+ if len(comune_input)>0:
345
+ comuni_selezionati = comune_input
346
+ comuni_selezionati = [comune.upper() for comune in comuni_selezionati]
347
+ output = []
348
+ output_singolo = []
349
+ for comune_provincia in comuni_provincia:
350
+ if comune_provincia['comune'].upper() in comuni_selezionati:
351
+ with st.spinner(f"Ricerca Immobili Comune: {comune_provincia['comune']}"):
352
+ output_singolo = json.loads(scrape_immobiliare(comune_provincia['provincia'],
353
+ comune_provincia['comune'],
354
+ comune_provincia['prezzo'],
355
+ prezzo_minimo,
356
+ prezzo_massimo,
357
+ locali_minimo,
358
+ locali_massimo))
359
+ scrivi_dataframe(output_singolo, False, comune_provincia['comune'])
360
+ output += output_singolo
361
+ if len(comuni_selezionati)>1 and st.numero_immobili_validi>1:
362
+ st.write(f"### Comuni Selezionati")
363
+ scrivi_dataframe(output, True, '')
364
+ if st.numero_immobili_validi > 0 and st.analisi_ai:
365
+ st.title("✨ Analisi Intelligenza Artificiale")
366
+ st.write("### Considerazioni")
367
+ analizza_dati_ai(output, 1)
368
+ #st.divider()
369
+ #st.write("### Dettagliata")
370
+ #analizza_dati_ai(output, 2)
371
+ st.success("Elaborazione Completata")
372
+ else:
373
+ st.error("Per favore, inserisci il nome di un comune.")
374
 
375
  #if 'initialized' not in st.session_state:
376
  # st.session_state['initialized'] = True