GBDC_Daulatpur / app.py
Musawir19's picture
Update app.py
6b12d2f verified
# Step 2: Import libraries
import gradio as gr
# Step 3: Define College Data
college_about = """
The college was notified to work from 16th July 2003 on the directions of the then care-taker Minister for education Mr. Khan Muhammad Dahri.
At the beginning, the college had no staff of its own, so it was borrowed from Government Degree College Sakrand.
The college started its classes in the afternoon at Government High School Daulatpur as it had no specific building.
With the help of the EDO Education, the possession of the Government Girls High School (Old) Daulatpur was given to the college.
"""
# Restructured Data
data = {
"Programs": [
"ADSE-I", "ADSE-II", "ADAA-I", "ADAA-II", "BS (Zoology) (Proposed for this year)"
],
"Teachers": {
"Islamiat": ["Prof Mahfooz Khan (Associate Prof)", "M. Essa Samego (Lecturer)"],
"Physics": ["Muhammad Aslam Palli (Associate Prof)", "Asif Ali Rajput (Lecturer)"],
"Botany": ["Abdul Rahman Gaincho (Lecturer)"],
"Chemistry": ["Ali Aijaz Dahri (Lecturer)"],
"Math": ["Fida Hussain (Lecturer)"],
"Librarian": ["Zulfiqar Ali (Senior Librarian)"],
"DPE": ["Naseer Ahmed (DPE)"],
},
"Facilities": [
"Digital library with 20+ computers",
"Parks: Alquran Park and Botany Park with 50+ plants",
"Building: Two-floor building with 24 rooms",
"Labs: Zoology, Botany, Physics, Chemistry",
"Parking area",
"Solar system",
"RO Plant",
],
"Location": "Bypass Daulatpur",
"Principal": "Prof Irshad Ali Otho",
"Established": "2003",
"Contact": {
"Location": "National Highway N6 bypass Daulatpur",
"Phone": "+92 300 3003249",
"Email": "[email protected]",
"Facebook": "https://www.facebook.com/share/19j9Z1iEvz/"
}
}
# Helper function to answer questions
def get_answer(question):
# Convert question to lowercase for easier matching
question = question.lower()
# Check for general categories
if "program" in question or "course" in question:
return f"Programs offered:\n- " + "\n- ".join(data["Programs"])
if "teacher" in question:
if "islamiat" in question:
return f"Islamiat Teachers:\n- " + "\n- ".join(data["Teachers"]["Islamiat"])
elif "physics" in question:
return f"Physics Teachers:\n- " + "\n- ".join(data["Teachers"]["Physics"])
elif "botany" in question:
return f"Botany Teacher:\n- " + "\n- ".join(data["Teachers"]["Botany"])
elif "chemistry" in question:
return f"Chemistry Teacher:\n- " + "\n- ".join(data["Teachers"]["Chemistry"])
elif "math" in question:
return f"Math Teacher:\n- " + "\n- ".join(data["Teachers"]["Math"])
elif "librarian" in question:
return f"Librarian:\n- " + "\n- ".join(data["Teachers"]["Librarian"])
elif "dpe" in question:
return f"DPE:\n- " + "\n- ".join(data["Teachers"]["DPE"])
else:
# Return all teachers if no specific subject is mentioned
all_teachers = "\n".join(
[f"{subject}: " + ", ".join(teachers) for subject, teachers in data["Teachers"].items()]
)
return f"All Teachers:\n{all_teachers}"
if "facility" in question:
return f"Facilities available:\n- " + "\n- ".join(data["Facilities"])
if "location" in question:
return f"College Location: {data['Location']}"
if "principal" in question:
return f"Principal: {data['Principal']}"
if "establish" in question or "founded" in question:
return f"Established in: {data['Established']}"
if "contact" in question:
contact_info = data["Contact"]
return (
f"Contact Details:\n"
f"- Location: {contact_info['Location']}\n"
f"- Phone: {contact_info['Phone']}\n"
f"- Email: {contact_info['Email']}\n"
f"- Facebook: {contact_info['Facebook']}"
)
return "Sorry, I don't have an answer for that. Please ask something else."
# Step 4: Create Gradio Interface
with gr.Blocks(theme=gr.themes.Monochrome()) as app:
gr.Markdown("## Government Boys Degree College Daulatpur")
gr.Markdown("### Welcome to our College Information App")
gr.Image("college_logo.png", label="College Logo") # Ensure "college_logo.png" exists
with gr.Tabs():
with gr.Tab("About College"):
gr.Markdown(college_about)
with gr.Tab("Programs"):
gr.Markdown("\n".join(data["Programs"]))
with gr.Tab("Teachers"):
all_teachers = "\n".join(
[f"{subject}: " + ", ".join(teachers) for subject, teachers in data["Teachers"].items()]
)
gr.Markdown(all_teachers)
with gr.Tab("Facilities"):
gr.Markdown("\n".join(data["Facilities"]))
with gr.Tab("Ask a Question"):
question = gr.Textbox(label="Ask a question about the college")
answer = gr.Textbox(label="Answer")
question.submit(get_answer, inputs=question, outputs=answer)
with gr.Tab("Contact Us"):
contact_info = data["Contact"]
gr.Markdown(
f"**Contact Details:**\n"
f"- Location: {contact_info['Location']}\n"
f"- Phone: {contact_info['Phone']}\n"
f"- Email: {contact_info['Email']}\n"
f"[Visit our Facebook Page]({contact_info['Facebook']})"
)
gr.Markdown("### Made by Musawir Manzoor")
# Step 5: Launch the App
app.launch()