adrianpierce commited on
Commit
5b9d4d6
·
1 Parent(s): 8c5f156

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -12
app.py CHANGED
@@ -4,14 +4,13 @@ import random
4
  import pandas as pd
5
  import streamlit as st
6
 
 
7
  if 'df' not in st.session_state:
8
  st.session_state.df = pd.DataFrame()
9
  st.session_state.df_edited = st.session_state.df.copy()
10
  st.session_state.df2 = pd.DataFrame()
11
 
12
- st.title('Get Recipes:')
13
- n_recipes = st.slider('Select number of recipes to get', 0, 20, 10)
14
-
15
  def get_recipes():
16
  url = "https://api.notion.com/v1/databases/180f4b492f4d421c88028c54cfe077a5/query"
17
  payload = json.dumps({
@@ -33,8 +32,8 @@ def get_recipes():
33
  recipe_list = []
34
  for recipe in random.sample(recipes['results'], n_recipes):
35
  recipe_dict = {}
36
- recipe_dict['name'] = recipe["properties"]["Name"]["title"][0]["plain_text"].strip()
37
- recipe_dict['url'] = recipe["url"]
38
  recipe_list.append(recipe_dict)
39
 
40
  st.session_state.df = pd.DataFrame.from_dict(recipe_list)
@@ -48,22 +47,33 @@ def save_recipes():
48
  def clear_saved():
49
  st.session_state.df2 = pd.DataFrame()
50
 
51
- st.button(label='Get', on_click=get_recipes)
52
 
 
 
 
 
53
  if len(st.session_state.df) > 0:
54
  st.session_state.df_edited = st.data_editor(
55
  st.session_state.df,
56
- column_config={"url": st.column_config.LinkColumn()},
57
- disabled=["name", "url"],
 
 
 
 
58
  hide_index=True,
59
  )
60
  st.button(label='Save Recipes', on_click=save_recipes)
61
-
62
  st.title('Saved Recipes:')
63
-
64
  if len(st.session_state.df2) == 0:
65
  st.write('Nothing saved, yet!')
66
  else:
67
- st.dataframe(st.session_state.df2, hide_index=True)
68
-
 
 
 
 
 
 
69
  st.button(label='Clear Saved', on_click=clear_saved)
 
4
  import pandas as pd
5
  import streamlit as st
6
 
7
+ # Define session state variables
8
  if 'df' not in st.session_state:
9
  st.session_state.df = pd.DataFrame()
10
  st.session_state.df_edited = st.session_state.df.copy()
11
  st.session_state.df2 = pd.DataFrame()
12
 
13
+ # Define functions
 
 
14
  def get_recipes():
15
  url = "https://api.notion.com/v1/databases/180f4b492f4d421c88028c54cfe077a5/query"
16
  payload = json.dumps({
 
32
  recipe_list = []
33
  for recipe in random.sample(recipes['results'], n_recipes):
34
  recipe_dict = {}
35
+ recipe_dict['Name'] = recipe["properties"]["Name"]["title"][0]["plain_text"].strip()
36
+ recipe_dict['Url'] = recipe["url"]
37
  recipe_list.append(recipe_dict)
38
 
39
  st.session_state.df = pd.DataFrame.from_dict(recipe_list)
 
47
  def clear_saved():
48
  st.session_state.df2 = pd.DataFrame()
49
 
 
50
 
51
+ # Define app
52
+ st.title('Get Recipes:')
53
+ n_recipes = st.slider('Select number of recipes to get', 0, 20, 10)
54
+ st.button(label='Get', on_click=get_recipes)
55
  if len(st.session_state.df) > 0:
56
  st.session_state.df_edited = st.data_editor(
57
  st.session_state.df,
58
+ column_config={
59
+ "Name": st.column_config.Column(width="medium"),
60
+ "Save": st.column_config.Column(width="small"),
61
+ "Url": st.column_config.LinkColumn(width="large")
62
+ },
63
+ disabled=["Name", "Url"],
64
  hide_index=True,
65
  )
66
  st.button(label='Save Recipes', on_click=save_recipes)
 
67
  st.title('Saved Recipes:')
 
68
  if len(st.session_state.df2) == 0:
69
  st.write('Nothing saved, yet!')
70
  else:
71
+ st.dataframe(
72
+ st.session_state.df2,
73
+ column_config={
74
+ "Name": st.column_config.Column(width="medium"),
75
+ "Save": st.column_config.Column(width="small"),
76
+ "Url": st.column_config.LinkColumn(width="large")
77
+ },
78
+ hide_index=True)
79
  st.button(label='Clear Saved', on_click=clear_saved)