Spaces:
Sleeping
Sleeping
File size: 5,889 Bytes
a45e52d 469c254 16c79b6 469c254 f4eed50 a45e52d f4eed50 a45e52d 469c254 a45e52d 16c79b6 469c254 16c79b6 a45e52d 16c79b6 a45e52d 16c79b6 469c254 a45e52d 469c254 a45e52d 16c79b6 a45e52d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 |
# 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}"
@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.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() |