Spaces:
Sleeping
Sleeping
# import sys | |
# from pathlib import Path | |
# import os | |
# import gdown | |
# import streamlit as st | |
# # Set page config - must be first Streamlit command | |
# st.set_page_config( | |
# page_title="TrueCheck - Fake News Detection", | |
# page_icon="📰", | |
# layout="wide" | |
# ) | |
# MODEL_PATH = "models/saved/final_model.pt" | |
# # You need to replace this with the direct download link of your model file | |
# # To get the direct link: Right-click your model file in Google Drive -> Get link -> Make sure it's set to "Anyone with the link can view" | |
# # Then replace the file ID in the URL below | |
# GOOGLE_DRIVE_FILE_ID = "1xhYKuC5_Yri3mm3Ejt-SpB2WAVUTJvc_" # Replace with your actual file ID | |
# GOOGLE_DRIVE_URL = f"https://drive.google.com/uc?id={GOOGLE_DRIVE_FILE_ID}" | |
# @st.cache_resource | |
# def download_model(): | |
# """Download model from Google Drive if not exists.""" | |
# if not os.path.exists(MODEL_PATH): | |
# os.makedirs(os.path.dirname(MODEL_PATH), exist_ok=True) | |
# with st.spinner("Downloading model from Google Drive..."): | |
# try: | |
# gdown.download(GOOGLE_DRIVE_URL, MODEL_PATH, quiet=False) | |
# st.success("Model downloaded successfully!") | |
# except Exception as e: | |
# st.error(f"Failed to download model: {str(e)}") | |
# st.error("Please check your Google Drive link and make sure the file is publicly accessible.") | |
# return False | |
# return True | |
# # Add src directory to Python path | |
# src_path = Path(__file__).parent / "src" | |
# sys.path.append(str(src_path)) | |
# if __name__ == "__main__": | |
# # Download model first | |
# if download_model(): | |
# # Import and run the main app | |
# from src.app import main | |
# main() | |
# else: | |
# st.error("Cannot start the application without the model file.") | |
import sys | |
from pathlib import Path | |
import os | |
import gdown | |
import streamlit as st | |
# Set page config - must be first Streamlit command | |
st.set_page_config( | |
page_title="TrueCheck - Fake News Detection", | |
page_icon="📰", | |
layout="wide", | |
initial_sidebar_state="expanded" | |
) | |
# Custom CSS for modern styling | |
st.markdown(""" | |
<style> | |
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap'); | |
body { | |
font-family: 'Poppins', sans-serif; | |
background-color: #FFFFFF; | |
color: #333333; | |
} | |
.sidebar .sidebar-content { | |
background-color: #F4F7FA; | |
padding: 1rem; | |
} | |
.stButton>button { | |
background-color: #4B5EAA; | |
color: white; | |
border-radius: 8px; | |
padding: 0.5rem 1rem; | |
font-weight: 600; | |
transition: background-color 0.3s; | |
} | |
.stButton>button:hover { | |
background-color: #3A4A8C; | |
} | |
.stTextArea textarea { | |
border: 1px solid #E0E0E0; | |
border-radius: 8px; | |
padding: 1rem; | |
} | |
.hero-section { | |
background-color: #F4F7FA; | |
padding: 2rem; | |
border-radius: 12px; | |
margin-bottom: 2rem; | |
} | |
.flash-message { | |
padding: 1rem; | |
border-radius: 8px; | |
margin-bottom: 1rem; | |
font-weight: 600; | |
} | |
.success-message { | |
background-color: #E6F4EA; | |
color: #2E7D32; | |
} | |
.error-message { | |
background-color: #FEE2E2; | |
color: #B71C1C; | |
} | |
</style> | |
""", unsafe_allow_html=True) | |
MODEL_PATH = "models/saved/final_model.pt" | |
GOOGLE_DRIVE_FILE_ID = "1xhYKuC5_Yri3mm3Ejt-SpB2WAVUTJvc_" | |
GOOGLE_DRIVE_URL = f"https://drive.google.com/uc?id={GOOGLE_DRIVE_FILE_ID}" | |
def download_model(): | |
"""Download model from Google Drive if not exists.""" | |
if not os.path.exists(MODEL_PATH): | |
os.makedirs(os.path.dirname(MODEL_PATH), exist_ok=True) | |
with st.spinner("Downloading model from Google Drive..."): | |
try: | |
gdown.download(GOOGLE_DRIVE_URL, MODEL_PATH, quiet=False) | |
st.markdown('<div class="flash-message success-message">Model downloaded successfully!</div>', unsafe_allow_html=True) | |
except Exception as e: | |
st.markdown(f'<div class="flash-message error-message">Failed to download model: {str(e)}</div>', unsafe_allow_html=True) | |
st.markdown('<div class="flash-message error-message">Please check your Google Drive link and make sure the file is publicly accessible.</div>', unsafe_allow_html=True) | |
return False | |
return True | |
# Add src directory to Python path | |
src_path = Path(__file__).parent / "src" | |
sys.path.append(str(src_path)) | |
# Sidebar navigation | |
st.sidebar.title("TrueCheck") | |
st.sidebar.markdown("---") | |
page = st.sidebar.radio( | |
"Navigate", | |
["Home", "Team", "About", "Terms of Use", "Privacy Policy"], | |
label_visibility="collapsed" | |
) | |
# SVG icon for sidebar | |
st.sidebar.markdown(""" | |
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#4B5EAA" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 1rem;"> | |
<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path> | |
<polyline points="9 22 9 12 15 12 15 22"></polyline> | |
</svg> | |
""", unsafe_allow_html=True) | |
if __name__ == "__main__": | |
if page == "Home": | |
if download_model(): | |
from src.app import main | |
main() | |
else: | |
st.markdown('<div class="flash-message error-message">Cannot start the application without the model file.</div>', unsafe_allow_html=True) | |
elif page == "Team": | |
from src.team import main | |
main() | |
elif page == "About": | |
from src.about import main | |
main() | |
elif page == "Terms of Use": | |
from src.terms_of_use import main | |
main() | |
elif page == "Privacy Policy": | |
from src.privacy_policy import main | |
main() |