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()