def format_search_result(cls, result): if not SearchEngine.check_result(result): return [] formatted = [] result = result['hits']['hits'] for r in result: _source = r['_source'] try: hl_description = r['highlight']['description'][0] except: logging.debug('No highlight for %s', _source) hl_description = '' description = _source.get('description') sr = dict( issue_id=_source.get('issue_id'), description=description if description else '', hl_description=hl_description, ) if not sr['issue_id']: logging.warn('Invaild issue search result, skip: %s', _source) continue sr = IssueResult(**sr) formatted.append(sr) return formatted
def format_search_result(cls, result): if not SearchEngine.check_result(result): return [] formatted = [] result = result['hits']['hits'] for r in result: _source = r['_source'] try: hl_description = r['highlight']['description'][0] except: logging.debug('No highlight for %s', _source) hl_description = '' sr = dict( ticket_number=_source.get('ticket_id'), project_id=_source.get('to_proj_id'), hl_description=hl_description, ) if not sr['project_id'] or not sr['ticket_number']: logging.warn( 'Invaild pullrequest search result, skip: %s', _source) continue sr = PullResult(**sr) formatted.append(sr) return formatted
def format_facets(cls, result): if not SearchEngine.check_result(result): return {} formatted = dict(state=result['facets']['state']['terms']) return formatted