Py.Cafe

fifer-plumper0t/

track-item-favorites

Track Item Favorites

DocsPricing
  • app.py
  • requirements.txt
app.py
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

import streamlit as st
import pandas as pd
import datetime

st.cache_data.clear()
st.cache_resource.clear()

ids = list()

id = 100001

ids.append(id)

while id < 100100:
    id+=1
    ids.append(id)

main_container = {}
buttons = {}
fbstatus = {}

columns=['ID', 'Status', 'DateTime']

df = pd.DataFrame(columns=columns)

for id in ids:

    col1, col2 = st.columns(2)

    with col1:
            st.header(id)
            st.image("https://d3rf6j5nx5r04a.cloudfront.net/BVZlHVmI0vl6u9HQLM3DvwvTmLk=/1120x0/product/f/1/2024d38b6e4c4f1094c4943bfb459629_opt.jpg", width=250)
            main_container[f'_{id}'] = st.container()
    
    with col2:
        if f'button_{id}' not in st.session_state:
            st.session_state[f'button_{id}'] = 0

        buttons[f'_{id}'] = [ st.button("Favourite", key=f'b{id}a'), st.button("Not Favourite", key=f'b{id}b') ]

        for i, b in enumerate(buttons[f'_{id}']): 
            if buttons[f'_{id}'][i]:
                st.session_state[f'button_{id}'] = i+1

        if st.session_state[f'button_{id}'] == 0:
            main_container[f'_{id}'].write(f"No Button has been clicked")
        else:
            # main_container[f'_{id}'].write(f"Button {st.session_state[f'button_{id}']} was clicked.")
            if st.session_state[f'button_{id}'] == 1:
                main_container[f'_{id}'].write(f"This is a favourite")
                df = df.iloc[0:0]
                df.loc[len(df)] = [id, 1, datetime.datetime.now()]
                df.to_csv('status.csv', index=False)
                st.dataframe(df)
            elif st.session_state[f'button_{id}'] == 2:
                main_container[f'_{id}'].write(f"This is not a favourite")
                df = df.iloc[0:0]
                df.loc[len(df)] = [id, 0, datetime.datetime.now()]
                df.to_csv('status.csv', index=False)
                st.dataframe(df)