172def _news_response(json):
173
174 search_results = json.get('expertResponses')
175 if search_results:
176 search_results = search_results[0]['advice']['categorySearchResult']['searchResult']
177 else:
178 search_results = json.get('advice')
179
180 results = []
181 if not search_results:
182 return results
183
184 for result in search_results['results']:
185
186 results.append(
187 {
188 'url': result['url'],
189 'title': result['title'],
190 'content': result['summary'] or result["topCategory"] or result["displayUrl"] or '',
191 'thumbnail': result.get('thumbnail', ''),
192 'publishedDate': datetime.strptime(result['pubDate'][:19], '%Y-%m-%d %H:%M:%S'),
193 'metadata': gettext("Language") + ': ' + result.get('language', ''),
194 }
195 )
196
197 if search_results.get('nextResultSet'):
198 results.append(
199 {
200 "engine_data": search_results.get('nextResultSet'),
201 "key": "nextpage",
202 }
203 )
204 return results
205
206