recipes_app / pages /2_Saved_Recipes.py
adrianpierce's picture
Update pages/2_Saved_Recipes.py
5cf2175
import streamlit as st
import json
import os
st.title("Saved Recipes")
# get all saved files
directory_path = '/data/'
recipes = []
for root, dirs, files in os.walk(directory_path):
for file in files:
if file.endswith('.json'):
full_path = os.path.join(root, file)
# os.remove(full_path)
f = open(full_path)
recipe_json = json.load(f)
recipe_json['file'] = file
recipes.append(recipe_json)
#st.json(saved_files)
cols = st.columns([4, 1])
with cols[0]:
user_search = st.text_input("Search Recipes", value="")
with cols[1]:
user_sort = st.selectbox("Sort", ('Recent', 'Oldest', 'A-Z', 'Z-A', 'Random'))
st.write("") # just some space
recipes_filtered = [x for x in recipes if user_search.lower() in x['name'].lower()]
if user_sort == 'Recent':
recipes_filtered.sort(key=lambda x: x['timestamp'], reverse=True)
elif user_sort == 'Oldest':
recipes_filtered.sort(key=lambda x: x['timestamp'])
elif user_sort == 'A-Z':
recipes_filtered.sort(key=lambda x: x['name'])
elif user_sort == 'Z-A':
recipes_filtered.sort(key=lambda x: x['name'], reverse=True)
elif user_sort == 'Random':
recipes_filtered.sort(key=lambda x: x['file'])
for recipe in recipes_filtered:
with st.expander(recipe['name']):
st.markdown(recipe['md'])
if st.session_state.admin == True:
st.write('')
st.write(recipe['file'])
if st.button("Delete", key=recipe['file']):
if os.path.exists(f"/data/{recipe['file']}"):
os.remove(f"/data/{recipe['file']}")
st.rerun()
# ignore
# f = open('/data/test_output.json')
# json_test = json.load(f)
# st.json(json_test)
# file_path = '/data/test_output.json'
# if os.path.exists(file_path):
# # Delete the file
# os.remove(file_path)
# st.write(f"The file {file_path} has been deleted.")
# else:
# st.write(f"The file {file_path} does not exist.")