@@ -132,43 +132,9 @@ def api():
132
132
resultJson ["speechResponse" ] = currentNode ["prompt" ]
133
133
else :
134
134
resultJson ["complete" ] = True
135
-
136
135
context ["parameters" ] = extractedParameters
137
-
138
- try :
139
- if story .apiTrigger :
140
- isJson = False
141
- parameters = extractedParameters
142
-
143
- urlTemplate = Template (
144
- story .apiDetails .url , undefined = SilentUndefined )
145
- renderedUrl = urlTemplate .render (** context )
146
- if story .apiDetails .isJson :
147
- isJson = True
148
- requestTemplate = Template (
149
- story .apiDetails .jsonData , undefined = SilentUndefined )
150
- parameters = requestTemplate .render (** context )
151
-
152
- result = callApi (renderedUrl ,
153
- story .apiDetails .requestType ,
154
- parameters , isJson )
155
-
156
- else :
157
- result = {}
158
-
159
- context ["result" ] = result
160
- resultTemplate = Template (
161
- story .speechResponse , undefined = SilentUndefined )
162
- resultJson ["speechResponse" ] = resultTemplate .render (
163
- ** context )
164
- except Exception as e :
165
- print (e )
166
- resultJson ["speechResponse" ] = "Service is not available."
167
136
else :
168
137
resultJson ["complete" ] = True
169
- resultTemplate = Template (
170
- story .speechResponse , undefined = SilentUndefined )
171
- resultJson ["speechResponse" ] = resultTemplate .render (** context )
172
138
173
139
elif (requestJson .get ("complete" ) is False ):
174
140
if "cancel" not in story .intentName :
@@ -185,35 +151,6 @@ def api():
185
151
context = {}
186
152
context ["parameters" ] = resultJson ["extractedParameters" ]
187
153
context ["context" ] = requestJson ["context" ]
188
- try :
189
- if story .apiTrigger :
190
- isJson = False
191
- parameters = resultJson ["extractedParameters" ]
192
-
193
- urlTemplate = Template (
194
- story .apiDetails .url , undefined = SilentUndefined )
195
- renderedUrl = urlTemplate .render (** context )
196
- if story .apiDetails .isJson :
197
- isJson = True
198
- requestTemplate = Template (
199
- story .apiDetails .jsonData , undefined = SilentUndefined )
200
- parameters = requestTemplate .render (** context )
201
-
202
- result = callApi (renderedUrl ,
203
- story .apiDetails .requestType ,
204
- parameters , isJson )
205
- print (result )
206
- else :
207
- result = {}
208
- context ["result" ] = result
209
-
210
- template = Template (
211
- story .speechResponse , undefined = SilentUndefined )
212
- resultJson ["speechResponse" ] = template .render (
213
- ** context )
214
- except Exception as e :
215
- print (e )
216
- resultJson ["speechResponse" ] = "Service is not available. "
217
154
else :
218
155
missingParameter = resultJson ["missingParameters" ][0 ]
219
156
resultJson ["complete" ] = False
@@ -227,9 +164,34 @@ def api():
227
164
resultJson ["parameters" ] = {}
228
165
resultJson ["intent" ] = {}
229
166
resultJson ["complete" ] = True
230
- template = Template (
231
- story .speechResponse ,
232
- undefined = SilentUndefined )
167
+
168
+ if resultJson ["complete" ]:
169
+ if story .apiTrigger :
170
+ isJson = False
171
+ parameters = resultJson ["extractedParameters" ]
172
+
173
+ urlTemplate = Template (story .apiDetails .url , undefined = SilentUndefined )
174
+ renderedUrl = urlTemplate .render (** context )
175
+ if story .apiDetails .isJson :
176
+ isJson = True
177
+ requestTemplate = Template (story .apiDetails .jsonData , undefined = SilentUndefined )
178
+ parameters = requestTemplate .render (** context )
179
+
180
+ try :
181
+ result = callApi (renderedUrl ,
182
+ story .apiDetails .requestType ,
183
+ parameters ,isJson )
184
+ except Exception as e :
185
+ print (e )
186
+ resultJson ["speechResponse" ] = "Service is not available. "
187
+ else :
188
+ print (result )
189
+ context ["result" ] = result
190
+ template = Template (story .speechResponse , undefined = SilentUndefined )
191
+ resultJson ["speechResponse" ] = template .render (** context )
192
+ else :
193
+ context ["result" ] = {}
194
+ template = Template (story .speechResponse , undefined = SilentUndefined )
233
195
resultJson ["speechResponse" ] = template .render (** context )
234
196
logger .info (requestJson .get ("input" ), extra = resultJson )
235
197
return buildResponse .buildJson (resultJson )
0 commit comments