MockupTHEDge / app.py
dindizz's picture
Update app.py
f0222ff verified
import gradio as gr
import pandas as pd
import datetime
# Sample Exam Data
exam_data = {
"Exam Name": ["NEET", "JEE Main", "CAT", "UPSC CSE", "SSC CGL"],
"Date": ["2024-05-07", "2024-06-18", "2024-11-28", "2024-06-02", "2024-07-15"],
"Details": [
"National Eligibility cum Entrance Test (NEET) for medical aspirants.",
"Joint Entrance Examination (JEE) for engineering aspirants.",
"Common Admission Test (CAT) for MBA admissions.",
"Union Public Service Commission (UPSC) Civil Services Examination.",
"Staff Selection Commission (SSC) Combined Graduate Level Examination."
]
}
# Convert data into a DataFrame
exam_df = pd.DataFrame(exam_data)
exam_df['Date'] = pd.to_datetime(exam_df['Date'])
# Home Page
def home():
return """
<h1>Welcome to TH EDge</h1>
<p>Your one-stop destination for all educational news, exams, and resources.</p>
<h2>Sections</h2>
<ul>
<li>
<a href="#">Exam Calendar</a>
<ul>
<li><a href="/exam_calendar">Upcoming Exams</a></li>
<li><a href="#">Results</a></li>
</ul>
</li>
<li>
<a href="#">Study Resources</a>
<ul>
<li><a href="#">News You Can Use</a></li>
<li><a href="#">Deep Dive</a></li>
<li><a href="#">Podcasts</a></li>
<li><a href="#">Webinars</a></li>
</ul>
</li>
<li>
<a href="#">Career Guidance</a>
<ul>
<li><a href="#">Career Paths</a></li>
<li><a href="#">Interviews</a></li>
<li><a href="#">Job Listings</a></li>
</ul>
</li>
</ul>
"""
# Exam Calendar Page
def exam_calendar(selected_date=None):
if selected_date:
selected_date = pd.to_datetime(selected_date)
filtered_df = exam_df[exam_df['Date'] >= selected_date]
else:
filtered_df = exam_df
exam_table = filtered_df.to_html(index=False)
return f"""
<h1>Exam Calendar</h1>
<p>View upcoming exams and important dates.</p>
<form method="post">
<label for="date">Select a date:</label>
<input type="date" id="date" name="selected_date">
<input type="submit" value="Search">
</form>
{exam_table}
<br>
<a href="/">Back to Home</a>
"""
# Gradio App Interface
def app_interface(route="/"):
if route == "/exam_calendar":
return exam_calendar()
else:
return home()
# Launching the Gradio interface
iface = gr.Interface(
fn=app_interface,
inputs=gr.Textbox(lines=1, value="/", label="Route"),
outputs="html"
)
iface.launch()