Ronio Jerico Roque commited on
Commit
7dfa00b
·
1 Parent(s): 211a2f2

Refactor: Clean up code structure and improve payload handling in SEO and Social Media analysis

Browse files
classes/response_off.py CHANGED
@@ -32,6 +32,7 @@ class SeoOffPageAnalyst:
32
 
33
  # AGENT NAME
34
  #st.header(self.analyst_name)
 
35
  def request_model(self, payload_txt, headers):
36
  response = requests.post(self.model_url, json=payload_txt, headers=headers)
37
  response.raise_for_status()
 
32
 
33
  # AGENT NAME
34
  #st.header(self.analyst_name)
35
+
36
  def request_model(self, payload_txt, headers):
37
  response = requests.post(self.model_url, json=payload_txt, headers=headers)
38
  response.raise_for_status()
classes/response_on_page.py CHANGED
@@ -60,7 +60,13 @@ class SeoOn:
60
  myclient = MongoClient(mongodb_uri)
61
  mydb = myclient.get_database()
62
  mycol = mydb["df_data"]
63
- x = mycol.find_one({"data_field": data_field})
 
 
 
 
 
 
64
  x = x["result"]
65
  return x
66
 
@@ -68,55 +74,19 @@ class SeoOn:
68
  with st.spinner('SEO On Page...', show_time=True):
69
  st.write('')
70
  # OUTPUT FOR SEO ANALYST
71
- headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
72
- payload = ""
73
- try:
74
- payload += self.fetch_data("First Meaningful Paint")
75
- except Exception as e:
76
- pass
77
- try:
78
- payload += self.fetch_data("Crawl File")
79
- except Exception as e:
80
- pass
81
-
82
- try:
83
- session_first_meaningful_paint = st.session_state['first_meaningful_paint']
84
- session_crawl_file = st.session_state['crawl_file']
85
- if session_first_meaningful_paint or session_crawl_file == 'uploaded':
86
- payload_txt = {"input_value": payload, "output_type": "text", "input_type": "chat"}
87
  payload_txt_model = self.request_model(payload_txt, headers)
88
  debug_info = {'data_field' : 'On Page Analyst', 'result': payload_txt_model}
89
  upload_response(debug_info)
90
 
91
  st.session_state['first_meaningful_paint'] = ''
92
  st.session_state['crawl_file'] = ''
 
93
  except Exception as e:
94
  pass
95
 
96
- #end_time = time.time()
97
- #time_lapsed = end_time - start_time
98
-
99
- #debug_info = {'data_field' : 'GT Metrix', 'result': result}
100
-
101
-
102
- '''
103
- debug_info = {#'analyst': self.analyst_name,
104
- 'url_uuid': self.model_url.split("-")[-1],
105
- 'time_lapsed' : time_lapsed,
106
- 'crawl_file': [file.name for file in self.uploaded_files] if self.uploaded_files else ['Not available'],
107
- 'gt_metrix': [file.name for file in self.gtmetrix] if self.gtmetrix else ['Not available'],
108
- 'payload': payload_txt,
109
- 'result': result}
110
-
111
- if self.gtmetrix:
112
- collect_telemetry(debug_info)
113
- '''
114
-
115
-
116
- #with st.expander("Debug information", icon="⚙"):
117
- # st.write(debug_info)
118
-
119
-
120
  st.session_state['analyzing'] = False
121
  try:
122
  self.file_dict.popitem()
@@ -124,13 +94,25 @@ class SeoOn:
124
  pass
125
 
126
  def row1(self):
127
-
128
- #st.write("") # FOR THE HIDE BUTTON
129
- #st.write("") # FOR THE HIDE BUTTON
130
- #st.write("AI Analyst Output: ")
131
  st.session_state['analyzing'] = False
132
- #st.write("") # FOR THE HIDE BUTTON
133
- self.process()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
 
135
 
136
  if __name__ == "__main__":
 
60
  myclient = MongoClient(mongodb_uri)
61
  mydb = myclient.get_database()
62
  mycol = mydb["df_data"]
63
+
64
+ # Sort by timestamp field in descending order
65
+ x = mycol.find_one(
66
+ {"data_field": data_field},
67
+ sort=[("timestamp", -1)]
68
+ )
69
+
70
  x = x["result"]
71
  return x
72
 
 
74
  with st.spinner('SEO On Page...', show_time=True):
75
  st.write('')
76
  # OUTPUT FOR SEO ANALYST
77
+ headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
78
+ try:
79
+ payload_txt = {"input_value": self.payload, "output_type": "text", "input_type": "chat"}
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  payload_txt_model = self.request_model(payload_txt, headers)
81
  debug_info = {'data_field' : 'On Page Analyst', 'result': payload_txt_model}
82
  upload_response(debug_info)
83
 
84
  st.session_state['first_meaningful_paint'] = ''
85
  st.session_state['crawl_file'] = ''
86
+ count = 0
87
  except Exception as e:
88
  pass
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  st.session_state['analyzing'] = False
91
  try:
92
  self.file_dict.popitem()
 
94
  pass
95
 
96
  def row1(self):
 
 
 
 
97
  st.session_state['analyzing'] = False
98
+ self.payload = ""
99
+ count = 0
100
+ try:
101
+ session_first_meaningful_paint = st.session_state['first_meaningful_paint']
102
+ if session_first_meaningful_paint == 'uploaded':
103
+ count += 1
104
+ self.payload += self.fetch_data("First Meaningful Paint")
105
+ except Exception as e:
106
+ pass
107
+ try:
108
+ session_crawl_file = st.session_state['crawl_file']
109
+ if session_crawl_file == 'uploaded':
110
+ count += 1
111
+ self.payload += self.fetch_data("Crawl File")
112
+ except Exception as e:
113
+ pass
114
+ if count >= 1:
115
+ self.process()
116
 
117
 
118
  if __name__ == "__main__":
classes/response_seo.py CHANGED
@@ -48,6 +48,7 @@ class Seo:
48
  response = requests.post(self.model_url, json=payload_txt, headers=headers)
49
  response.raise_for_status()
50
  output = response.json()
 
51
  text = output["outputs"][0]["outputs"][0]["results"]["text"]["data"]["text"]
52
  text = json.loads(text)
53
  #st.write(text)
@@ -67,7 +68,13 @@ class Seo:
67
  myclient = MongoClient(mongodb_uri)
68
  mydb = myclient.get_database()
69
  mycol = mydb["df_data"]
70
- x = mycol.find_one({"data_field": data_field})
 
 
 
 
 
 
71
  x = x["result"]
72
  return x
73
 
@@ -143,47 +150,9 @@ class Seo:
143
  def process (self):
144
  with st.spinner('Seo Analyst...', show_time=True):
145
  st.write('')
146
- headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
147
- payload = ""
148
- count = 0
149
- try:
150
- session_traffic_aqcuisition = st.session_state['df_seo']
151
- payload += self.fetch_data("SEO Keywords")
152
- count += 1
153
- except Exception as e:
154
- pass
155
- try:
156
- session_traffic_channels = st.session_state['df_traffic']
157
- payload += self.fetch_data("Traffic Channels")
158
- count += 1
159
- except Exception as e:
160
- pass
161
- try:
162
- session_others = st.session_state['others']
163
- payload += self.fetch_data("Traffic Acquisition")
164
- count += 1
165
- except Exception as e:
166
- pass
167
- try:
168
- session_page_index = st.session_state['pages_index']
169
- payload += self.fetch_data("Pages Indexed")
170
- count += 1
171
- except Exception as e:
172
- pass
173
- try:
174
- session_bounce_rate = st.session_state['bounce_rate']
175
- payload += self.fetch_data("Bounce Rate")
176
- count += 1
177
- except Exception as e:
178
- pass
179
- try:
180
- payload += self.fetch_backlinks("Backlinks")
181
- count += 1
182
- except Exception as e:
183
- pass
184
  try:
185
- if count >= 1:
186
- payload_txt = {"input_value": payload, "output_type": "text", "input_type": "chat"}
187
  payload_txt_model = self.request_model(payload_txt, headers)
188
  debug_info = {'data_field' : 'SEO Analyst', 'result': payload_txt_model}
189
  upload_response(debug_info)
@@ -202,8 +171,57 @@ class Seo:
202
  st.session_state['analyzing'] = False
203
  #st.write("") # FOR THE HIDE BUTTON
204
  #analyze_button = st.button("Analyze", disabled=initialize_analyze_session())
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
 
206
- self.process()
207
 
208
  if __name__ == "__main__":
209
  st.set_page_config(layout="wide")
 
48
  response = requests.post(self.model_url, json=payload_txt, headers=headers)
49
  response.raise_for_status()
50
  output = response.json()
51
+ #st.write(output)
52
  text = output["outputs"][0]["outputs"][0]["results"]["text"]["data"]["text"]
53
  text = json.loads(text)
54
  #st.write(text)
 
68
  myclient = MongoClient(mongodb_uri)
69
  mydb = myclient.get_database()
70
  mycol = mydb["df_data"]
71
+
72
+ # Sort by timestamp field in descending order
73
+ x = mycol.find_one(
74
+ {"data_field": data_field},
75
+ sort=[("timestamp", -1)]
76
+ )
77
+
78
  x = x["result"]
79
  return x
80
 
 
150
  def process (self):
151
  with st.spinner('Seo Analyst...', show_time=True):
152
  st.write('')
153
+ headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  try:
155
+ payload_txt = {"input_value": self.payload, "output_type": "text", "input_type": "chat"}
 
156
  payload_txt_model = self.request_model(payload_txt, headers)
157
  debug_info = {'data_field' : 'SEO Analyst', 'result': payload_txt_model}
158
  upload_response(debug_info)
 
171
  st.session_state['analyzing'] = False
172
  #st.write("") # FOR THE HIDE BUTTON
173
  #analyze_button = st.button("Analyze", disabled=initialize_analyze_session())
174
+ self.payload = ""
175
+ count = 0
176
+ try:
177
+ session_traffic_aqcuisition = st.session_state['df_seo']
178
+ if session_traffic_aqcuisition == 'uploaded':
179
+ count += 1
180
+ self.payload += self.fetch_data("SEO Keywords")
181
+
182
+ except Exception as e:
183
+ pass
184
+ try:
185
+ session_traffic_channels = st.session_state['df_traffic']
186
+ if session_traffic_channels == 'uploaded':
187
+ count += 1
188
+ self.payload += self.fetch_data("Traffic Channels")
189
+ except Exception as e:
190
+ pass
191
+ try:
192
+ session_others = st.session_state['others']
193
+ if session_others == 'uploaded':
194
+ count += 1
195
+ self.payload += self.fetch_data("Traffic Acquisition")
196
+
197
+ except Exception as e:
198
+ pass
199
+ try:
200
+ session_page_index = st.session_state['pages_index']
201
+ if session_page_index == 'uploaded':
202
+ count += 1
203
+ self.payload += self.fetch_data("Pages Indexed")
204
+ except Exception as e:
205
+ pass
206
+ try:
207
+ session_bounce_rate = st.session_state['bounce_rate']
208
+ if session_bounce_rate == 'uploaded':
209
+ print("run")
210
+ count += 1
211
+ self.payload += self.fetch_data("Bounce Rate")
212
+ except Exception as e:
213
+ pass
214
+ try:
215
+ session_backlinks = st.session_state["off_page_file_uploaded"]
216
+ if session_backlinks == 'uploaded':
217
+ count += 1
218
+ self.payload += self.fetch_backlinks("Backlinks")
219
+ except Exception as e:
220
+ pass
221
+
222
+ if count >= 1:
223
+ self.process()
224
 
 
225
 
226
  if __name__ == "__main__":
227
  st.set_page_config(layout="wide")
classes/response_social_media.py CHANGED
@@ -71,7 +71,7 @@ class SocialMedia:
71
  # Sort by timestamp field in descending order
72
  x = mycol.find_one(
73
  {"data_field": data_field},
74
- sort=[("timestamp", -1)] # -1 means descending order
75
  )
76
 
77
  x = x["result"]
@@ -81,55 +81,9 @@ class SocialMedia:
81
  with st.spinner('Social Media Analyst...', show_time=True):
82
  st.write('')
83
 
84
- headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
85
- payload = ""
86
-
87
  try:
88
- session_fb = st.session_state['fb_upload']
89
- if session_fb == 'uploaded':
90
- payload += self.fetch_data("Facebook")
91
-
92
- except Exception as e:
93
- pass
94
- try:
95
- session_ig = st.session_state['ig_upload']
96
- if session_ig == 'uploaded':
97
- print("running ig")
98
- payload += self.fetch_data("Instagram")
99
-
100
- except Exception as e:
101
- pass
102
- try:
103
- session_twitter = st.session_state['twitter_upload']
104
- if session_twitter == 'uploaded':
105
- payload += self.fetch_data("Twitter")
106
-
107
- except Exception as e:
108
- pass
109
- try:
110
- session_yt = st.session_state['youtube_upload']
111
- if session_yt == 'uploaded':
112
- payload += self.fetch_data("YouTube")
113
-
114
- except Exception as e:
115
- pass
116
- try:
117
- session_linkedin = st.session_state['linkedin_upload']
118
- if session_linkedin == 'uploaded':
119
- payload += self.fetch_data("Linkedin")
120
-
121
- except Exception as e:
122
- pass
123
- try:
124
- session_tiktok = st.session_state['tiktok_upload']
125
- if session_tiktok == 'uploaded':
126
- payload += self.fetch_data("Tiktok")
127
-
128
- except Exception as e:
129
- pass
130
- try:
131
- if session_fb or session_ig or session_twitter or session_yt or session_linkedin or session_tiktok == 'uploaded':
132
- payload_txt = {"input_value": payload, "output_type": "text", "input_type": "chat"}
133
  payload_txt_model = self.request_model(payload_txt, headers)
134
  debug_info = {'data_field' : 'Social Media Analyst', 'result': payload_txt_model}
135
  upload_response(debug_info)
@@ -140,13 +94,58 @@ class SocialMedia:
140
  st.session_state['youtube_upload'] = ''
141
  st.session_state['linkedin_upload'] = ''
142
  st.session_state['tiktok_upload'] = ''
 
143
 
144
  except Exception as e:
145
  pass
146
-
147
-
148
  def row1(self):
149
- self.process()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
 
151
 
152
  if __name__ == "__main__":
 
71
  # Sort by timestamp field in descending order
72
  x = mycol.find_one(
73
  {"data_field": data_field},
74
+ sort=[("timestamp", -1)]
75
  )
76
 
77
  x = x["result"]
 
81
  with st.spinner('Social Media Analyst...', show_time=True):
82
  st.write('')
83
 
84
+ headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
 
 
85
  try:
86
+ payload_txt = {"input_value": self.payload, "output_type": "text", "input_type": "chat"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  payload_txt_model = self.request_model(payload_txt, headers)
88
  debug_info = {'data_field' : 'Social Media Analyst', 'result': payload_txt_model}
89
  upload_response(debug_info)
 
94
  st.session_state['youtube_upload'] = ''
95
  st.session_state['linkedin_upload'] = ''
96
  st.session_state['tiktok_upload'] = ''
97
+ count = 0
98
 
99
  except Exception as e:
100
  pass
101
+
 
102
  def row1(self):
103
+ self.payload = ""
104
+ count = 0
105
+ try:
106
+ session_fb = st.session_state['fb_upload']
107
+ if session_fb == 'uploaded':
108
+ count += 1
109
+ self.payload += self.fetch_data("Facebook")
110
+ except Exception as e:
111
+ pass
112
+ try:
113
+ session_ig = st.session_state['ig_upload']
114
+ if session_ig == 'uploaded':
115
+ count += 1
116
+ self.payload += self.fetch_data("Instagram")
117
+ except Exception as e:
118
+ pass
119
+ try:
120
+ session_twitter = st.session_state['twitter_upload']
121
+ if session_twitter == 'uploaded':
122
+ count += 1
123
+ self.payload += self.fetch_data("Twitter")
124
+ except Exception as e:
125
+ pass
126
+ try:
127
+ session_yt = st.session_state['youtube_upload']
128
+ if session_yt == 'uploaded':
129
+ count += 1
130
+ self.payload += self.fetch_data("YouTube")
131
+ except Exception as e:
132
+ pass
133
+ try:
134
+ session_linkedin = st.session_state['linkedin_upload']
135
+ if session_linkedin == 'uploaded':
136
+ count += 1
137
+ self.payload += self.fetch_data("Linkedin")
138
+ except Exception as e:
139
+ pass
140
+ try:
141
+ session_tiktok = st.session_state['tiktok_upload']
142
+ if session_tiktok == 'uploaded':
143
+ count += 1
144
+ self.payload += self.fetch_data("Tiktok")
145
+ except Exception as e:
146
+ pass
147
+ if count >= 1:
148
+ self.process()
149
 
150
 
151
  if __name__ == "__main__":
classes/response_website_and_tools.py CHANGED
@@ -59,118 +59,23 @@ class WebsiteAndTools:
59
  myclient = MongoClient(mongodb_uri)
60
  mydb = myclient.get_database()
61
  mycol = mydb["df_data"]
62
- x = mycol.find_one({"data_field": data_field})
 
 
 
 
 
 
63
  x = x["result"]
64
  return x
65
 
66
  def process(self):
67
  with st.spinner('Website and Tools...', show_time=True):
68
- st.write('')
69
- '''
70
- # OUTPUT FOR WEBSITE RESPONSIVENESS
71
- payload_txt_website_responsiveness = {"result": website_responsiveness}
72
- result_website_responsiveness = self.request_model(payload_txt_website_responsiveness)
73
-
74
- # OUTPUT FOR CONTENT MANAGEMENT SYSTEM
75
- payload_txt_content_management_system = {"question": content_management_system}
76
- #result_content_management_system = self.request_model(content_management_system)
77
-
78
- # OUTPUT FOR SSL CERTIFICATE
79
- payload_txt_SSL_certificate = {"question": SSL_certificate}
80
- #result_SSL_certificate = self.request_model(SSL_certificate)
81
-
82
- # OUTPUT FOR WEB ANALYTICS
83
- payload_txt_web_analytics = {"question": web_analytics}
84
- #result_web_analytics = self.request_model(web_analytics)
85
-
86
- # OUTPUT FOR CLIENT RELATIONS MANAGEMENT SYSTEM
87
- payload_txt_client_relations_management_system = {"question": client_relations_management_system}
88
- #result_client_relations_management_system = self.request_model(client_relations_management_system)
89
-
90
- # OUTPUT FOR LEAD GENERATION MECHANISM
91
- payload_txt_lead_generation_mechanism = {"question": lead_generation_mechanism}
92
- #result_lead_generation_mechanism = self.request_model(lead_generation_mechanism)
93
- '''
94
- # OUTPUT FOR SEO ANALYST
95
-
96
- #print(x)
97
  headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
 
98
  try:
99
- payload = ""
100
- session_website_responsiveness = st.session_state['website_responsiveness']
101
- if session_website_responsiveness == 'uploaded':
102
- payload += self.fetch_data("Website Responsiveness")
103
- except Exception as e:
104
- pass
105
- try:
106
- session_content_management_system = st.session_state['content_management_system']
107
- if session_content_management_system == 'uploaded':
108
- payload += self.fetch_data("Content Management System")
109
- except Exception as e:
110
- pass
111
- try:
112
- session_SSL_certificate = st.session_state['SSL_certificate']
113
- if session_SSL_certificate == 'uploaded':
114
- payload += self.fetch_data("SSL Certificate")
115
-
116
- except Exception as e:
117
- pass
118
- try:
119
- session_mobile_responsiveness = st.session_state['mobile_responsiveness']
120
- if session_mobile_responsiveness == 'uploaded':
121
- payload += self.fetch_data("Mobile Responsiveness")
122
- except Exception as e:
123
- pass
124
- try:
125
- session_desktop_loading_speed = st.session_state['desktop_loading_speed']
126
- if session_desktop_loading_speed == 'uploaded':
127
- payload += self.fetch_data("Desktop Loading Speed")
128
- except Exception as e:
129
- pass
130
- try:
131
- session_mobile_loading_speed = st.session_state['mobile_loading_speed']
132
- if session_mobile_loading_speed == 'uploaded':
133
- payload += self.fetch_data("Mobile Loading Speed")
134
- except Exception as e:
135
- pass
136
- try:
137
- session_first_meaningful_paint = st.session_state['first_meaningful_paint']
138
- if session_first_meaningful_paint == 'uploaded':
139
- payload += self.fetch_data("First Meaningful Paint")
140
- except Exception as e:
141
- pass
142
- try:
143
- session_web_analytics = st.session_state['web_analytics']
144
- if session_web_analytics == 'uploaded':
145
- payload += self.fetch_data("Web Analytics")
146
- except Exception as e:
147
- pass
148
- try:
149
- session_client_relations_management_system = st.session_state['client_relations_management_system']
150
- if session_client_relations_management_system == 'uploaded':
151
- payload += self.fetch_data("Client Relations Management System")
152
- except Exception as e:
153
- pass
154
- try:
155
- session_lead_generation_mechanism = st.session_state['lead_generation_mechanism']
156
- if session_lead_generation_mechanism == 'uploaded':
157
- payload += self.fetch_data("Lead Generation Mechanism")
158
- except Exception as e:
159
- pass
160
-
161
- try:
162
- session_website_responsiveness = st.session_state['website_responsiveness']
163
- session_client_relations_management_system = st.session_state['client_relations_management_system']
164
- session_lead_generation_mechanism = st.session_state['lead_generation_mechanism']
165
- session_web_analytics = st.session_state['web_analytics']
166
- session_mobile_responsiveness = st.session_state['mobile_responsiveness']
167
- session_desktop_loading_speed = st.session_state['desktop_loading_speed']
168
- session_mobile_loading_speed = st.session_state['mobile_loading_speed']
169
- session_SSL_certificate = st.session_state['SSL_certificate']
170
- session_content_management_system = st.session_state['content_management_system']
171
-
172
- if session_website_responsiveness or session_client_relations_management_system or session_lead_generation_mechanism or session_web_analytics or session_mobile_responsiveness or session_desktop_loading_speed or session_mobile_loading_speed or session_content_management_system or session_SSL_certificate == 'uploaded':
173
- payload_txt = {"input_value": payload, "output_type": "text", "input_type": "chat"}
174
  payload_txt_model = self.request_model(payload_txt, headers)
175
  debug_info = {'data_field' : 'Website and Tools Analyst', 'result': payload_txt_model}
176
  upload_response(debug_info)
@@ -184,6 +89,7 @@ class WebsiteAndTools:
184
  st.session_state['web_analytics'] = ''
185
  st.session_state['client_relations_management_system'] = ''
186
  st.session_state['lead_generation_mechanism'] = ''
 
187
  except Exception as e:
188
  pass
189
  #end_time = time.time()
@@ -217,15 +123,84 @@ class WebsiteAndTools:
217
  pass
218
 
219
  def row1(self):
220
-
221
- #st.write("") # FOR THE HIDE BUTTON
222
- #st.write("") # FOR THE HIDE BUTTON
223
- #st.write("AI Analyst Output: ")
224
  st.session_state['analyzing'] = False
225
- #st.write("") # FOR THE HIDE BUTTON
226
- self.process()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
 
228
-
229
  if __name__ == "__main__":
230
  st.set_page_config(layout="wide")
231
 
 
59
  myclient = MongoClient(mongodb_uri)
60
  mydb = myclient.get_database()
61
  mycol = mydb["df_data"]
62
+
63
+ # Sort by timestamp field in descending order
64
+ x = mycol.find_one(
65
+ {"data_field": data_field},
66
+ sort=[("timestamp", -1)]
67
+ )
68
+
69
  x = x["result"]
70
  return x
71
 
72
  def process(self):
73
  with st.spinner('Website and Tools...', show_time=True):
74
+ st.write('')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  headers = {"Content-Type": "application/json", "x-api-key": f"{os.getenv('x-api-key')}"}
76
+
77
  try:
78
+ payload_txt = {"input_value": self.payload, "output_type": "text", "input_type": "chat"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  payload_txt_model = self.request_model(payload_txt, headers)
80
  debug_info = {'data_field' : 'Website and Tools Analyst', 'result': payload_txt_model}
81
  upload_response(debug_info)
 
89
  st.session_state['web_analytics'] = ''
90
  st.session_state['client_relations_management_system'] = ''
91
  st.session_state['lead_generation_mechanism'] = ''
92
+ count = 0
93
  except Exception as e:
94
  pass
95
  #end_time = time.time()
 
123
  pass
124
 
125
  def row1(self):
 
 
 
 
126
  st.session_state['analyzing'] = False
127
+ self.payload = ""
128
+ count = 0
129
+ try:
130
+ payload = ""
131
+ session_website_responsiveness = st.session_state['website_responsiveness']
132
+ if session_website_responsiveness == 'uploaded':
133
+ count += 1
134
+ self.payload += self.fetch_data("Website Responsiveness")
135
+ except Exception as e:
136
+ pass
137
+ try:
138
+ session_content_management_system = st.session_state['content_management_system']
139
+ if session_content_management_system == 'uploaded':
140
+ count += 1
141
+ self.payload += self.fetch_data("Content Management System")
142
+ except Exception as e:
143
+ pass
144
+ try:
145
+ session_SSL_certificate = st.session_state['SSL_certificate']
146
+ if session_SSL_certificate == 'uploaded':
147
+ count += 1
148
+ self.payload += self.fetch_data("SSL Certificate")
149
+
150
+ except Exception as e:
151
+ pass
152
+ try:
153
+ session_mobile_responsiveness = st.session_state['mobile_responsiveness']
154
+ if session_mobile_responsiveness == 'uploaded':
155
+ count += 1
156
+ self.payload += self.fetch_data("Mobile Responsiveness")
157
+ except Exception as e:
158
+ pass
159
+ try:
160
+ session_desktop_loading_speed = st.session_state['desktop_loading_speed']
161
+ if session_desktop_loading_speed == 'uploaded':
162
+ count += 1
163
+ self.payload += self.fetch_data("Desktop Loading Speed")
164
+ except Exception as e:
165
+ pass
166
+ try:
167
+ session_mobile_loading_speed = st.session_state['mobile_loading_speed']
168
+ if session_mobile_loading_speed == 'uploaded':
169
+ count += 1
170
+ self.payload += self.fetch_data("Mobile Loading Speed")
171
+ except Exception as e:
172
+ pass
173
+ try:
174
+ session_first_meaningful_paint = st.session_state['first_meaningful_paint']
175
+ if session_first_meaningful_paint == 'uploaded':
176
+ count += 1
177
+ self.payload += self.fetch_data("First Meaningful Paint")
178
+ except Exception as e:
179
+ pass
180
+ try:
181
+ session_web_analytics = st.session_state['web_analytics']
182
+ if session_web_analytics == 'uploaded':
183
+ count += 1
184
+ self.payload += self.fetch_data("Web Analytics")
185
+ except Exception as e:
186
+ pass
187
+ try:
188
+ session_client_relations_management_system = st.session_state['client_relations_management_system']
189
+ if session_client_relations_management_system == 'uploaded':
190
+ count += 1
191
+ self.payload += self.fetch_data("Client Relations Management System")
192
+ except Exception as e:
193
+ pass
194
+ try:
195
+ session_lead_generation_mechanism = st.session_state['lead_generation_mechanism']
196
+ if session_lead_generation_mechanism == 'uploaded':
197
+ count += 1
198
+ self.payload += self.fetch_data("Lead Generation Mechanism")
199
+ except Exception as e:
200
+ pass
201
+ if count >= 1:
202
+ self.process()
203
 
 
204
  if __name__ == "__main__":
205
  st.set_page_config(layout="wide")
206
 
pages/analyzing_page.py CHANGED
@@ -9,7 +9,6 @@ from classes.response_seo import Seo
9
  from classes.response_social_media import SocialMedia
10
 
11
  def run_analysis():
12
-
13
  # Placeholders for status updates
14
  off_page_status = st.empty()
15
  on_page_status = st.empty()
 
9
  from classes.response_social_media import SocialMedia
10
 
11
  def run_analysis():
 
12
  # Placeholders for status updates
13
  off_page_status = st.empty()
14
  on_page_status = st.empty()