Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
import requests | |
from io import StringIO | |
# Define the base URL for the raw GitHub content | |
base_url = "https://raw.githubusercontent.com/halimbahae/Hadith/main" | |
# Define folder names and their corresponding book names | |
folders = { | |
"Maliks_Muwataa": "Maliks Muwataa", | |
"Musnad_Ahmad_Ibn-Hanbal": "Musnad Ahmad Ibn Hanbal", | |
"Sahih_Al-Bukhari": "Sahih Al-Bukhari", | |
"Sahih_Muslim": "Sahih Muslim", | |
"Sunan_Abu-Dawud": "Sunan Abu Dawud", | |
"Sunan_Al-Darimi": "Sunan Al-Darimi", | |
"Sunan_Al-Nasai": "Sunan Al-Nasai", | |
"Sunan_Al-Tirmidhi": "Sunan Al-Tirmidhi", | |
"Sunan_Ibn-Maja": "Sunan Ibn Maja" | |
} | |
# Define function to read CSV file from GitHub | |
def read_csv_from_github(file_url): | |
response = requests.get(file_url) | |
if response.status_code == 200: | |
return pd.read_csv(StringIO(response.text), encoding='utf-8') | |
else: | |
return None | |
# Main Streamlit app | |
def main(): | |
st.title("Hadith Viewer") | |
st.sidebar.title("Books") | |
selected_book = st.sidebar.selectbox("Select a Book", list(folders.values())) | |
# Generate options for the "Mufassala" checkbox based on the selected book | |
selected_folder = [k for k, v in folders.items() if v == selected_book][0] | |
files = ["Not Mufassala", "Mufassala"] | |
mufassala_option = st.sidebar.radio("Select Mufassala Option", files) | |
mufassala = mufassala_option == "Mufassala" | |
file_name = f"{selected_folder.lower()}_{'' if mufassala else 'not_'}mufassala.utf8.csv" | |
file_url = f"{base_url}/{selected_folder}/{file_name}" | |
csv_df = read_csv_from_github(file_url) | |
st.sidebar.subheader("Description") | |
st.sidebar.write("This is a viewer for the Hadith collections. You can select a book from the dropdown menu on the left, and choose whether you want to view the 'Mufassala' version or not.") | |
if csv_df is not None: | |
st.dataframe(csv_df) | |
else: | |
st.error("Error loading CSV file") | |
# Display image | |
image_url = "https://raw.githubusercontent.com/halimbahae/Hadith/main/Hadith_Books.jpg" | |
st.image(image_url, caption="Hadith Books", use_column_width=True) | |
if __name__ == "__main__": | |
main() | |