Spaces:
Sleeping
Sleeping
File size: 2,186 Bytes
94b0868 be6527c 94b0868 be6527c 94b0868 be6527c 94b0868 9a134e7 94b0868 5fc353b 94b0868 5fc353b 2e6f4d9 be6527c 94b0868 c880b1e 9a134e7 94b0868 c880b1e 94b0868 |
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 |
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()
|