Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -148,16 +148,49 @@ def get_date_panchang(date: str = None, data_language: str = "EN") -> str:
|
|
| 148 |
|
| 149 |
|
| 150 |
@tool
|
| 151 |
-
def get_holidays(year: int = None
|
| 152 |
-
"""
|
|
|
|
| 153 |
Does not include Panchang events like Ekadashi.
|
|
|
|
| 154 |
Args:
|
| 155 |
year: Year (e.g., 2025). Optional — defaults to current year.
|
| 156 |
-
date: Date in any format (optional)
|
| 157 |
"""
|
| 158 |
-
if not
|
| 159 |
-
year = datetime.now().year
|
| 160 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 161 |
|
| 162 |
@tool
|
| 163 |
def get_panchang_field(field: str, date: str = None) -> str:
|
|
|
|
| 148 |
|
| 149 |
|
| 150 |
@tool
|
| 151 |
+
def get_holidays(year: int = None) -> str:
|
| 152 |
+
"""
|
| 153 |
+
Fetches government and popular holidays for a given year from ExaWeb API.
|
| 154 |
Does not include Panchang events like Ekadashi.
|
| 155 |
+
|
| 156 |
Args:
|
| 157 |
year: Year (e.g., 2025). Optional — defaults to current year.
|
|
|
|
| 158 |
"""
|
| 159 |
+
if not year:
|
| 160 |
+
year = datetime.datetime.now().year
|
| 161 |
+
|
| 162 |
+
params = {
|
| 163 |
+
"app_language": "EN",
|
| 164 |
+
"data_language": "HI",
|
| 165 |
+
"year": year
|
| 166 |
+
}
|
| 167 |
+
|
| 168 |
+
try:
|
| 169 |
+
response = requests.get("https://api.exaweb.in:3004/api/panchang/holiday", params=params)
|
| 170 |
+
response.raise_for_status()
|
| 171 |
+
data = response.json()
|
| 172 |
+
|
| 173 |
+
holidays = []
|
| 174 |
+
|
| 175 |
+
hindu_holidays = data.get("Hindu", [])
|
| 176 |
+
|
| 177 |
+
# The response structure has nested lists, so we flatten and collect
|
| 178 |
+
for month_list in hindu_holidays:
|
| 179 |
+
for holiday in month_list:
|
| 180 |
+
title = holiday.get("title", "")
|
| 181 |
+
date = holiday.get("date", "")
|
| 182 |
+
holidays.append(f"{date}: {title}")
|
| 183 |
+
|
| 184 |
+
if not holidays:
|
| 185 |
+
return f"No holiday data found for year {year}."
|
| 186 |
+
|
| 187 |
+
formatted_holidays = "\n".join(holidays)
|
| 188 |
+
return f"Holidays for {year}:\n{formatted_holidays}"
|
| 189 |
+
|
| 190 |
+
except requests.RequestException as e:
|
| 191 |
+
return f"Error fetching holidays: {e}"
|
| 192 |
+
|
| 193 |
+
|
| 194 |
|
| 195 |
@tool
|
| 196 |
def get_panchang_field(field: str, date: str = None) -> str:
|