Astro_Info / app.py
arpit13's picture
Create app.py
d61af77 verified
raw
history blame
2.15 kB
import gradio as gr
import requests
def check_mangal_dosh(name, dob, tob, lat, lon, tz, api_key):
url = f"https://api.vedicastroapi.com/v3-json/dosha/mangal-dosh?dob={dob}&tob={tob}&lat={lat}&lon={lon}&tz={tz}&api_key={api_key}&lang=en"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
if data.get("status") == 200 and data.get("response"):
factors = data["response"].get("factors", {})
dosha_present = data["response"].get("is_dosha_present", False)
bot_response = data["response"].get("bot_response", "No information available")
score = data["response"].get("score", "N/A")
readable_response = f"""
**Mangal Dosh Analysis for {name}:**
**Dosha Presence:** {'Yes' if dosha_present else 'No'}
**Score:** {score}%
**Detailed Analysis:**
- **Moon Influence:** {factors.get('moon', 'Not mentioned')}
- **Saturn Influence:** {factors.get('saturn', 'Not mentioned')}
- **Rahu Influence:** {factors.get('rahu', 'Not mentioned')}
**Astrological Suggestion:** {bot_response}
"""
return readable_response
else:
return "Invalid response from API. Please check input values."
else:
return f"Error fetching data: {response.status_code}"
with gr.Blocks() as demo:
gr.Markdown("# Mangal Dosh Checker 🪐")
gr.Markdown("Enter your details to check for Mangal Dosh:")
name = gr.Textbox(label="Name")
dob = gr.Textbox(label="Date of Birth (DD/MM/YYYY)")
tob = gr.Textbox(label="Time of Birth (HH:MM)")
lat = gr.Number(label="Latitude")
lon = gr.Number(label="Longitude")
tz = gr.Number(label="Time Zone (e.g., 5.5)")
api_key = gr.Textbox(label="API Key", type="password")
submit_btn = gr.Button("Check Mangal Dosh")
result = gr.Markdown()
submit_btn.click(check_mangal_dosh, inputs=[name, dob, tob, lat, lon, tz, api_key], outputs=result)
demo.launch()