Spaces:
Running
Running
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 " | |
}, | |
{ | |
"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 & Robust) === | |
def display_links(data, title_key="title", link_key="link", source_key=None, date_key=None): | |
lines = [] | |
for item in data: | |
title = item.get(title_key, "[Untitled]") | |
link = item.get(link_key, "#") | |
source = item.get(source_key, "") if source_key else "" | |
date = item.get(date_key, "") if date_key else "" | |
full_title = f"{source}: {title}" if source else title | |
if date: | |
full_title += f" — {date}" | |
lines.append(f"- [{full_title}]({link.strip()})") | |
return "\n".join(lines) | |
# === 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", date_key="date")) | |
with gr.Tab("TV Appearances"): | |
gr.Markdown(display_links(tv_appearances, source_key="source")) | |
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() |