Superbrida commited on
Commit
c752b7a
·
verified ·
1 Parent(s): 936b841

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -7
app.py CHANGED
@@ -15,10 +15,11 @@ def get_current_time(city: str) -> str:
15
  city (str): Il nome della città per cui ottenere l'ora.
16
 
17
  Returns:
18
- str: L'ora attuale nella città richiesta oppure un messaggio di errore.
19
  """
20
  try:
21
- timezone = pytz.timezone(pytz.country_timezones.get(city.lower(), 'Europe/Rome'))
 
22
  local_time = datetime.datetime.now(timezone).strftime("%Y-%m-%d %H:%M:%S")
23
  return f"L'ora attuale a {city.capitalize()} è: {local_time}"
24
  except Exception as e:
@@ -57,19 +58,21 @@ def interpret_and_respond(query: str) -> str:
57
  """Interpreta la richiesta dell'utente e restituisce l'ora per una città specificata.
58
 
59
  Args:
60
- query (str): La domanda dell'utente.
61
 
62
  Returns:
63
- str: L'ora attuale nella città richiesta oppure un messaggio di errore.
64
  """
65
  words = query.lower().split()
66
  if "time" in words or "ora" in words:
67
  for word in words:
68
- if word in pytz.all_timezones:
69
  return get_current_time(word)
70
- return "Per favore, specifica una città."
 
 
71
  return "Mi dispiace, non ho capito la richiesta. Puoi riformularla?"
72
 
73
  agent.tools.append(interpret_and_respond)
74
 
75
- GradioUI(agent).launch()
 
15
  city (str): Il nome della città per cui ottenere l'ora.
16
 
17
  Returns:
18
+ str: Una stringa contenente l'ora attuale nella città richiesta oppure un messaggio di errore.
19
  """
20
  try:
21
+ # Mapping della città alla sua timezone
22
+ timezone = pytz.timezone(city)
23
  local_time = datetime.datetime.now(timezone).strftime("%Y-%m-%d %H:%M:%S")
24
  return f"L'ora attuale a {city.capitalize()} è: {local_time}"
25
  except Exception as e:
 
58
  """Interpreta la richiesta dell'utente e restituisce l'ora per una città specificata.
59
 
60
  Args:
61
+ query (str): La domanda dell'utente contenente la città richiesta.
62
 
63
  Returns:
64
+ str: Una stringa contenente l'ora attuale nella città richiesta oppure un messaggio di errore.
65
  """
66
  words = query.lower().split()
67
  if "time" in words or "ora" in words:
68
  for word in words:
69
+ try:
70
  return get_current_time(word)
71
+ except:
72
+ continue
73
+ return "Per favore, specifica una città valida."
74
  return "Mi dispiace, non ho capito la richiesta. Puoi riformularla?"
75
 
76
  agent.tools.append(interpret_and_respond)
77
 
78
+ GradioUI(agent).launch()