ajsbsd's picture
Update app.py
a02db50 verified
raw
history blame
3.62 kB
import gradio as gr
# === Sample Data ===
tv_appearances = [
{
"source": "The Daily Signal",
"title": "Victor Davis Hanson: The Trump Deranged “Experts” Were Wrong. Again.",
"link": "https://www.youtube.com/live/WPSiYIl8ZLg "
},
{
"source": "The Daily Signal",
"title": "Victor Davis Hanson: 128 Democrats Reject Latest Trump Impeachment—Here’s The Major Reason Why",
"link": "https://www.youtube.com/watch?v=uQzoMjEd3G8"
},
{
"source": "Fox News",
"title": "Buttigieg is even worse than Biden: Victor Davis Hanson",
"link": "https://www.youtube.com/watch?v=9iIjdYZyUy0"
}
]
news_mentions = [
{
"show": "Las Vegas Review Journal - VICTOR DAVIS HANSON: In the end, everyone hated the Iranian theocracy",
"date": "June 28, 2025 - 9:01 pm",
"link": "https://www.reviewjournal.com/opinion/opinion-columns/victor-davis-hanson/victor-davis-hanson-in-the-end-everyone-hated-the-iranian-theocracy-3390658/"
}
]
books = [
{
"title": "The Dying Citizen: How Progressive Elites, Tribalism, and Globalization Are Destroying the Idea of America",
"link": "https://www.amazon.com/Dying-Citizen-Progressive-Globalization-Destroying-ebook/dp/B08W4ZZTTP?r"
},
{
"title": "The Second World Wars: How the First Global Conflict Was Fought and Won",
"link": " https://www.amazon.com/Second-World-Wars-Global-Conflict-ebook/dp/B01N808V2J"
}
]
# === Helper Function (Flexible) ===
def display_links(data, title_key="title", link_key="link"):
return "\n".join([f"- [{item[title_key]}]({item[link_key]})" for item in data])
# === Gradio Interface ===
with gr.Blocks(theme="soft") as demo:
gr.Markdown(
"""
# Doctor Victor Davis Hanson News & Publications Aggregator
This app aggregates publicly available mentions and publications related to **Dr. Victor Davis Hanson**,
a public academic figure known for their commentary on politics and policy. The purpose of this tool is to provide
a centralized resource for tracking appearances, articles, interviews, and published works — intended for research,
media monitoring, and academic study.
> 🔍 *Note: This model does not express opinions, endorse views, or verify accuracy. Users are encouraged to consult original sources for context.*
"""
)
with gr.Tab("News Mentions"):
gr.Markdown(display_links(news_mentions, title_key="show", link_key="link"))
with gr.Tab("TV Appearances"):
gr.Markdown(display_links(tv_appearances, title_key="show"))
with gr.Tab("Books"):
gr.Markdown("## 📚 Books by Dr. Victor Davis Hanson\n")
gr.Markdown(display_links(books))
gr.Markdown(
"> 📘 These links open directly to Amazon product pages. No user data is collected via these links."
)
gr.Markdown(
"""
## ⚖️ Legal & Ethical Notice
- **Fair Use**: Quoted headlines and excerpts fall under U.S. fair use doctrine for purposes of research, criticism, and news reporting.
- **GDPR Compliance**: This app does not collect personal data about users or store unnecessary personal information about the subject.
- **Right to Be Forgotten**: If the individual or any third party requests removal of content or data, please use the Contact tab.
- **No Affiliate Marketing**: I do not have an Amazon account, link to the main author.
"""
)
# Launch the app
demo.launch()