AMead10 commited on
Commit
88af45a
·
1 Parent(s): cc9a127

style upgrades

Browse files
Files changed (1) hide show
  1. app.py +35 -20
app.py CHANGED
@@ -62,7 +62,7 @@ def classify_email(constituent_email):
62
 
63
 
64
  # Function to handle saving data
65
- def save_data(orig_user_email, constituent_email, labels, user_response):
66
  # save the data to the database
67
  # orig_user_email should have volley 0
68
  # constituent_email should have volley 1
@@ -81,19 +81,22 @@ def save_data(orig_user_email, constituent_email, labels, user_response):
81
  db_cursor = db_connection.cursor()
82
 
83
  try:
84
- db_cursor.execute(
85
- "INSERT INTO radmap_frog12.messages (app_id, org_id, person_id, communication_method_id, status_id, subject, body, send_date, message_type, volley) VALUES (0, 0, 0, 1, 1, 'Email Classification and Response Tracking', %s, NOW(), 'Email Classification and Response Tracking', 0)",
86
- (orig_user_email,),
87
- )
 
 
 
88
 
89
  db_cursor.execute(
90
- "INSERT INTO radmap_frog12.messages (app_id, org_id, person_id, communication_method_id, status_id, subject, body, send_date, message_type, volley) VALUES (0, 0, 0, 1, 1, 'Email Classification and Response Tracking', %s, NOW(), 'Email Classification and Response Tracking', 1)",
91
- (constituent_email,),
92
  )
93
 
94
  db_cursor.execute(
95
- "INSERT INTO radmap_frog12.messages (app_id, org_id, person_id, communication_method_id, status_id, subject, body, send_date, message_type, volley) VALUES (0, 0, 0, 1, 1, 'Email Classification and Response Tracking', %s, NOW(), 'Email Classification and Response Tracking', 2)",
96
- (user_response,),
97
  )
98
 
99
  # insert a row into the message_categorys_associations table for each valid label in labels with the message_id of the constituent_email
@@ -118,7 +121,7 @@ def save_data(orig_user_email, constituent_email, labels, user_response):
118
 
119
  db_connection.commit()
120
 
121
- return "Data successfully saved to database"
122
 
123
  except Exception as e:
124
  print(e)
@@ -135,34 +138,45 @@ auth = [(auth_username, auth_password)]
135
 
136
  # Start building the Gradio interface
137
  # Start building the Gradio interface with two columns
138
- with gr.Blocks() as app:
139
  with gr.Row():
140
- gr.Markdown("## Email Classification and Response Tracking")
141
 
142
  with gr.Row():
143
  with gr.Column():
 
 
 
 
 
 
 
 
 
 
 
144
  email_labels_input = gr.Markdown(
145
- "## Valid Email Labels\n ### " + ", ".join(potential_labels),
146
  )
147
 
148
  original_email_input = gr.TextArea(
149
  placeholder="Enter the original email sent by you",
150
- label="Your Original Email",
151
  )
152
 
153
  spacer1 = gr.Label(visible=False)
154
 
155
  constituent_response_input = gr.TextArea(
156
- placeholder="Enter the constituent's response",
157
- label="Constituent's Response",
158
  lines=15,
159
  )
160
 
161
- classify_button = gr.Button("Classify Email")
162
 
163
  with gr.Column():
164
  classification_output = gr.TextArea(
165
- label="Current Email Labels",
166
  lines=1,
167
  interactive=True,
168
  )
@@ -171,11 +185,11 @@ with gr.Blocks() as app:
171
 
172
  user_response_input = gr.TextArea(
173
  placeholder="Enter your response to the constituent",
174
- label="Your Response",
175
  lines=25,
176
  )
177
 
178
- save_button = gr.Button("Save Data")
179
  save_output = gr.Label(label="Backend Response")
180
 
181
  # Define button actions
@@ -192,6 +206,7 @@ with gr.Blocks() as app:
192
  constituent_response_input,
193
  classification_output,
194
  user_response_input,
 
195
  ],
196
  outputs=save_output,
197
  )
 
62
 
63
 
64
  # Function to handle saving data
65
+ def save_data(orig_user_email, constituent_email, labels, user_response, current_user):
66
  # save the data to the database
67
  # orig_user_email should have volley 0
68
  # constituent_email should have volley 1
 
81
  db_cursor = db_connection.cursor()
82
 
83
  try:
84
+ volley = 1
85
+ if orig_user_email == "":
86
+ db_cursor.execute(
87
+ "INSERT INTO radmap_frog12.messages (app_id, org_id, person_id, communication_method_id, status_id, subject, body, send_date, message_type, volley) VALUES (0, 0, 0, 1, 1, 'Email Classification and Response Tracking', %s, NOW(), 'Email Classification and Response Tracking', 0)",
88
+ (orig_user_email,),
89
+ )
90
+ volley = 2
91
 
92
  db_cursor.execute(
93
+ "INSERT INTO radmap_frog12.messages (app_id, org_id, person_id, communication_method_id, status_id, subject, body, send_date, message_type, volley) VALUES (0, 0, 0, 1, 1, 'Email Classification and Response Tracking', %s, NOW(), 'Email Classification and Response Tracking', %s)",
94
+ (constituent_email, volley),
95
  )
96
 
97
  db_cursor.execute(
98
+ "INSERT INTO radmap_frog12.messages (app_id, org_id, person_id, communication_method_id, status_id, subject, body, send_date, message_type, volley) VALUES (0, 0, 0, 1, 1, 'Email Classification and Response Tracking', %s, NOW(), 'Email Classification and Response Tracking', %s)",
99
+ (user_response, volley + 1),
100
  )
101
 
102
  # insert a row into the message_categorys_associations table for each valid label in labels with the message_id of the constituent_email
 
121
 
122
  db_connection.commit()
123
 
124
+ return "Response successfully saved to database"
125
 
126
  except Exception as e:
127
  print(e)
 
138
 
139
  # Start building the Gradio interface
140
  # Start building the Gradio interface with two columns
141
+ with gr.Blocks(theme=gr.themes.Soft()) as app:
142
  with gr.Row():
143
+ gr.Markdown("## Campaign Messaging Assistant")
144
 
145
  with gr.Row():
146
  with gr.Column():
147
+ current_user = gr.Dropdown(
148
+ label="Current User",
149
+ choices=[
150
+ "Sheryl Springer",
151
+ "Ann E. Belyea",
152
+ "Marcelo Mejia",
153
+ "Rishi Vasudeva",
154
+ "Diane Taylor",
155
+ ],
156
+ )
157
+
158
  email_labels_input = gr.Markdown(
159
+ "## Message Category Library\n ### " + ", ".join(potential_labels),
160
  )
161
 
162
  original_email_input = gr.TextArea(
163
  placeholder="Enter the original email sent by you",
164
+ label="Your Original Email (if any)",
165
  )
166
 
167
  spacer1 = gr.Label(visible=False)
168
 
169
  constituent_response_input = gr.TextArea(
170
+ placeholder="Enter the incoming message",
171
+ label="Incoming Message (may be a response to original email)",
172
  lines=15,
173
  )
174
 
175
+ classify_button = gr.Button("Process Message", variant="primary")
176
 
177
  with gr.Column():
178
  classification_output = gr.TextArea(
179
+ label="Suggested Message Categories (modify as needed)",
180
  lines=1,
181
  interactive=True,
182
  )
 
185
 
186
  user_response_input = gr.TextArea(
187
  placeholder="Enter your response to the constituent",
188
+ label="Suggested Response (modify as needed)",
189
  lines=25,
190
  )
191
 
192
+ save_button = gr.Button("Save Response", variant="primary")
193
  save_output = gr.Label(label="Backend Response")
194
 
195
  # Define button actions
 
206
  constituent_response_input,
207
  classification_output,
208
  user_response_input,
209
+ current_user,
210
  ],
211
  outputs=save_output,
212
  )