Ashar11 commited on
Commit
7313de7
·
verified ·
1 Parent(s): ba1bd69

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +118 -118
app.py CHANGED
@@ -1,118 +1,118 @@
1
- import streamlit as st
2
- import json
3
- from main import generate_content, update_page # Import the functions
4
-
5
- st.title("Website Content Generator")
6
-
7
- # User Inputs
8
- idea = st.text_input("Enter Business Idea", "Solar Energy Solutions")
9
- company_name = st.text_input("Enter Company Name", "GreenTech Solar")
10
-
11
- st.subheader("Services")
12
- services = {}
13
- num_services = st.number_input("How many main services?", min_value=1, max_value=10, value=1)
14
-
15
- for i in range(num_services):
16
- service_name = st.text_input(f"Service {i+1} Name", key=f"service_{i}")
17
- sub_services = st.text_area(f"Sub-services for {service_name} (comma-separated)", key=f"sub_service_{i}")
18
- if service_name:
19
- services[service_name] = [s.strip() for s in sub_services.split(",") if s.strip()]
20
-
21
- st.subheader("Service Areas")
22
- service_areas = st.text_area("Enter service areas (comma-separated)", "London, Manchester, Birmingham")
23
- service_areas_list = [area.strip() for area in service_areas.split(",") if area.strip()]
24
-
25
- # Initialize session state for content storage
26
- if "content" not in st.session_state:
27
- st.session_state["content"] = {}
28
-
29
- if "history" not in st.session_state:
30
- st.session_state["history"] = {}
31
-
32
- import streamlit as st
33
-
34
- file_path = st.file_uploader(
35
- "Choose a Docs file", accept_multiple_files=False, type=["docx", "pdf"]
36
- )
37
- # Generate Content
38
- if st.button("Generate Content"):
39
- payload = {
40
- "idea": idea,
41
- "company_name": company_name,
42
- "services": services,
43
- "service_area": service_areas_list,
44
- "file_path": file_path
45
- }
46
-
47
- try:
48
- data = generate_content(payload)
49
- st.success("Content Generated Successfully!")
50
-
51
- # Store generated content in session state
52
- st.session_state["content"] = data
53
- st.session_state["history"] = {key: [value] for key, value in data.items()} # Store first version
54
-
55
- except Exception as e:
56
- st.error(f"Error: {e}")
57
-
58
- # User Query for Updating Content
59
- st.subheader("Update Content")
60
- user_query = st.text_area("Enter modification request", "")
61
-
62
- # Dropdown for selecting the page to update
63
- available_pages = {
64
- "Home Page": "home_page",
65
- "About Us Page": "about_us_page",
66
- "Service Page": "service_page",
67
- "Individual Service Pages": "individual_service_page",
68
- "Service Area Page": "service_area_page",
69
- }
70
-
71
- selected_page = st.selectbox("Select the page to update", list(available_pages.keys()))
72
-
73
- # Update Content Button
74
- if st.button("Update Content"):
75
- if not user_query.strip():
76
- st.warning("Please enter a modification request.")
77
- elif "content" not in st.session_state or not st.session_state["content"]:
78
- st.warning("Generate content first before updating.")
79
- else:
80
- try:
81
- # Get the current content for the selected page
82
- page_key = available_pages[selected_page]
83
- current_content = st.session_state["content"].get(page_key, "")
84
-
85
- # Call update_page function
86
- updated_page_content = update_page({"page_content": current_content}, user_query)
87
-
88
- # Store the new version in session state
89
- if page_key in st.session_state["history"]:
90
- st.session_state["history"][page_key].append(updated_page_content["page_content"])
91
- else:
92
- st.session_state["history"][page_key] = [updated_page_content["page_content"]]
93
-
94
- # Update displayed content
95
- st.session_state["content"][page_key] = updated_page_content["page_content"]
96
-
97
- st.success(f"{selected_page} Updated Successfully!")
98
-
99
- except Exception as e:
100
- st.error(f"Error: {e}")
101
-
102
- # Display all pages with history
103
- st.subheader("Website Content")
104
-
105
- for page, key in available_pages.items():
106
- if key in st.session_state["content"]:
107
- st.subheader(f"🔹 {page}")
108
-
109
- # Show latest content
110
- st.write(st.session_state["content"][key])
111
-
112
- # Show previous versions in an expander
113
- if key in st.session_state["history"] and len(st.session_state["history"][key]) > 1:
114
- with st.expander("📜 Previous Versions"):
115
- for i, old_version in enumerate(reversed(st.session_state["history"][key][:-1])):
116
- st.markdown(f"**Version {len(st.session_state['history'][key]) - i - 1}**")
117
- st.write(old_version)
118
- st.markdown("---")
 
1
+ import streamlit as st
2
+ import json
3
+ from humanize import generate_content, update_page # Import the functions
4
+
5
+ st.title("Website Content Generator")
6
+
7
+ # User Inputs
8
+ idea = st.text_input("Enter Business Idea", "Solar Energy Solutions")
9
+ company_name = st.text_input("Enter Company Name", "GreenTech Solar")
10
+
11
+ st.subheader("Services")
12
+ services = {}
13
+ num_services = st.number_input("How many main services?", min_value=1, max_value=10, value=1)
14
+
15
+ for i in range(num_services):
16
+ service_name = st.text_input(f"Service {i+1} Name", key=f"service_{i}")
17
+ sub_services = st.text_area(f"Sub-services for {service_name} (comma-separated)", key=f"sub_service_{i}")
18
+ if service_name:
19
+ services[service_name] = [s.strip() for s in sub_services.split(",") if s.strip()]
20
+
21
+ st.subheader("Service Areas")
22
+ service_areas = st.text_area("Enter service areas (comma-separated)", "London, Manchester, Birmingham")
23
+ service_areas_list = [area.strip() for area in service_areas.split(",") if area.strip()]
24
+
25
+ # Initialize session state for content storage
26
+ if "content" not in st.session_state:
27
+ st.session_state["content"] = {}
28
+
29
+ if "history" not in st.session_state:
30
+ st.session_state["history"] = {}
31
+
32
+ import streamlit as st
33
+
34
+ file_path = st.file_uploader(
35
+ "Choose a Docs file", accept_multiple_files=False, type=["docx", "pdf"]
36
+ )
37
+ # Generate Content
38
+ if st.button("Generate Content"):
39
+ payload = {
40
+ "idea": idea,
41
+ "company_name": company_name,
42
+ "services": services,
43
+ "service_area": service_areas_list,
44
+ "file_path": file_path
45
+ }
46
+
47
+ try:
48
+ data = generate_content(payload)
49
+ st.success("Content Generated Successfully!")
50
+
51
+ # Store generated content in session state
52
+ st.session_state["content"] = data
53
+ st.session_state["history"] = {key: [value] for key, value in data.items()} # Store first version
54
+
55
+ except Exception as e:
56
+ st.error(f"Error: {e}")
57
+
58
+ # User Query for Updating Content
59
+ st.subheader("Update Content")
60
+ user_query = st.text_area("Enter modification request", "")
61
+
62
+ # Dropdown for selecting the page to update
63
+ available_pages = {
64
+ "Home Page": "home_page",
65
+ "About Us Page": "about_us_page",
66
+ "Service Page": "service_page",
67
+ "Individual Service Pages": "individual_service_page",
68
+ "Service Area Page": "service_area_page",
69
+ }
70
+
71
+ selected_page = st.selectbox("Select the page to update", list(available_pages.keys()))
72
+
73
+ # Update Content Button
74
+ if st.button("Update Content"):
75
+ if not user_query.strip():
76
+ st.warning("Please enter a modification request.")
77
+ elif "content" not in st.session_state or not st.session_state["content"]:
78
+ st.warning("Generate content first before updating.")
79
+ else:
80
+ try:
81
+ # Get the current content for the selected page
82
+ page_key = available_pages[selected_page]
83
+ current_content = st.session_state["content"].get(page_key, "")
84
+
85
+ # Call update_page function
86
+ updated_page_content = update_page({"page_content": current_content}, user_query)
87
+
88
+ # Store the new version in session state
89
+ if page_key in st.session_state["history"]:
90
+ st.session_state["history"][page_key].append(updated_page_content["page_content"])
91
+ else:
92
+ st.session_state["history"][page_key] = [updated_page_content["page_content"]]
93
+
94
+ # Update displayed content
95
+ st.session_state["content"][page_key] = updated_page_content["page_content"]
96
+
97
+ st.success(f"{selected_page} Updated Successfully!")
98
+
99
+ except Exception as e:
100
+ st.error(f"Error: {e}")
101
+
102
+ # Display all pages with history
103
+ st.subheader("Website Content")
104
+
105
+ for page, key in available_pages.items():
106
+ if key in st.session_state["content"]:
107
+ st.subheader(f"🔹 {page}")
108
+
109
+ # Show latest content
110
+ st.write(st.session_state["content"][key])
111
+
112
+ # Show previous versions in an expander
113
+ if key in st.session_state["history"] and len(st.session_state["history"][key]) > 1:
114
+ with st.expander("📜 Previous Versions"):
115
+ for i, old_version in enumerate(reversed(st.session_state["history"][key][:-1])):
116
+ st.markdown(f"**Version {len(st.session_state['history'][key]) - i - 1}**")
117
+ st.write(old_version)
118
+ st.markdown("---")