Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -83,8 +83,38 @@ with gr.Blocks() as demo:
|
|
| 83 |
generatesummary = gr.Button("Generate the focus group summary")
|
| 84 |
with gr.Row():
|
| 85 |
summary = gr.Textbox(label="Report summary", lines=50)
|
|
|
|
|
|
|
|
|
|
| 86 |
clear = gr.Button("Clear", visible = False)
|
| 87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
def checkapiinput(apikey):
|
| 89 |
if apikey != "" and apikey is not None and len(apikey) >=25 and len(apikey) <= 130:
|
| 90 |
return gr.update(visible=True), gr.update(visible=False), gr.update(visible=True), gr.update(visible=True)
|
|
@@ -407,6 +437,7 @@ Now please provide your results.
|
|
| 407 |
generateresults.click(generateanswers, [title, question1, question2, question3, expert1, expert2, expert3, expert4, expert5, expert6, expert7, expert8, expert9, expert10], [response1, response2, response3, response4, response5, response6, response7, response8, response9, response10])
|
| 408 |
generatesummary.click(summarize, [title, question1, question2, question3, expert1, expert2, expert3, expert4, expert5, expert6, expert7, expert8, expert9, expert10, response1, response2, response3, response4, response5, response6, response7, response8, response9, response10], summary)
|
| 409 |
useapi.click(checkapiinput, apikey, [fullblock, apicheck, apikey, clear])
|
|
|
|
| 410 |
clear.click(init_history, title, [title, question1, question2, question3, focusgroupdescription, expert1, expert2, expert3, expert4, expert5, expert6, expert7, expert8, expert9, expert10, response1, response2, response3, response4, response5, response6, response7, response8, response9, response10, summary])
|
| 411 |
|
| 412 |
demo.launch()
|
|
|
|
| 83 |
generatesummary = gr.Button("Generate the focus group summary")
|
| 84 |
with gr.Row():
|
| 85 |
summary = gr.Textbox(label="Report summary", lines=50)
|
| 86 |
+
with gr.Row():
|
| 87 |
+
with gr.Accordion("Restore", open = False):
|
| 88 |
+
restore = gr.Button("Restore data from report")
|
| 89 |
clear = gr.Button("Clear", visible = False)
|
| 90 |
|
| 91 |
+
def uploaddetailsfromreport(report):
|
| 92 |
+
# Extract title of the focus group
|
| 93 |
+
title = re.search(r'title is:\n(.+)', input_string).group(1)
|
| 94 |
+
|
| 95 |
+
# Extract questions
|
| 96 |
+
questions = re.findall(r'Question (\d+): (.+)', input_string)
|
| 97 |
+
|
| 98 |
+
# Extract focus group profiles and participant answers
|
| 99 |
+
profiles = re.findall(r'// Profile (\d+) //\n(.*?)Participants answers:', input_string, re.DOTALL)
|
| 100 |
+
participants = []
|
| 101 |
+
for profile in profiles:
|
| 102 |
+
profile_id = profile[0]
|
| 103 |
+
participant_answers = re.findall(r'Profile {} answer to question (\d+)\n(.+)'.format(profile_id), profile[1])
|
| 104 |
+
participants.append(participant_answers)
|
| 105 |
+
|
| 106 |
+
# Format the extracted values
|
| 107 |
+
output = []
|
| 108 |
+
output.append(title)
|
| 109 |
+
for question in questions:
|
| 110 |
+
output.append("Question {}: {}".format(question[0], question[1]))
|
| 111 |
+
for i, participant in enumerate(participants, 1):
|
| 112 |
+
output.append("// Profile {} //".format(i))
|
| 113 |
+
for answer in participant:
|
| 114 |
+
output.append("Profile {} answer to question {}: {}".format(i, answer[0], answer[1].strip()))
|
| 115 |
+
|
| 116 |
+
return output[0], output[1], output[2], output[3], output[4], output[5], output[6], output[7], output[8], output[9], output[10], output[11], output[12], output[13], output[14], output[15], output[16], output[17], output[18], output[19], output[20], output[21], output[22], output[23]
|
| 117 |
+
|
| 118 |
def checkapiinput(apikey):
|
| 119 |
if apikey != "" and apikey is not None and len(apikey) >=25 and len(apikey) <= 130:
|
| 120 |
return gr.update(visible=True), gr.update(visible=False), gr.update(visible=True), gr.update(visible=True)
|
|
|
|
| 437 |
generateresults.click(generateanswers, [title, question1, question2, question3, expert1, expert2, expert3, expert4, expert5, expert6, expert7, expert8, expert9, expert10], [response1, response2, response3, response4, response5, response6, response7, response8, response9, response10])
|
| 438 |
generatesummary.click(summarize, [title, question1, question2, question3, expert1, expert2, expert3, expert4, expert5, expert6, expert7, expert8, expert9, expert10, response1, response2, response3, response4, response5, response6, response7, response8, response9, response10], summary)
|
| 439 |
useapi.click(checkapiinput, apikey, [fullblock, apicheck, apikey, clear])
|
| 440 |
+
restore.click(uploaddetailsfromreport, summary, [title, question1, question2, question3, expert1, expert2, expert3, expert4, expert5, expert6, expert7, expert8, expert9, expert10, response1, response2, response3, response4, response5, response6, response7, response8, response9, response10])
|
| 441 |
clear.click(init_history, title, [title, question1, question2, question3, focusgroupdescription, expert1, expert2, expert3, expert4, expert5, expert6, expert7, expert8, expert9, expert10, response1, response2, response3, response4, response5, response6, response7, response8, response9, response10, summary])
|
| 442 |
|
| 443 |
demo.launch()
|