Esempio n. 1
0
 def search(query, eventType_id=None, contract_id=None, speciality_id=None):
     search = Search(indexes=['event_service'], config=SearchConfig)
     search = search.match(query)
     if eventType_id:
         search = search.filter(eventType_id__eq=int(eventType_id))
     if contract_id:
         search = search.filter(contract_id__eq=int(contract_id))
     if speciality_id:
         search = search.filter(speciality_id__in=[0, int(speciality_id)])
     search = search.limit(0, 100)
     result = search.ask()
     return result
Esempio n. 2
0
def get_sphinx_data(sphinx_id):
    query = Search(indexes=['sourcecode'], config=BaseSearchConfig)
    query = query.filter(id__eq=sphinx_id)
    results = query.ask()
    if len(results['result']['items']) == 0:
        flask.abort(404)

    filename = results['result']['items'][0]['path']

    if not os.path.isfile(filename):
        return filename, 'File not found. Please resphinx_id.'

    code = ''
    with open(filename) as f:
        code = f.read()

    try:
        # This is the line that throws the exception.
        lexer = get_lexer_for_filename(filename)
        formatter = HtmlFormatter(noclasses=True)
        result = highlight(code, lexer, formatter)
    except ClassNotFound:
        # Syntax highlighting not supported.'
        result = '<pre>{}</pre>'.format(code)

    url = flask.url_for('display', sphinx_id=sphinx_id)

    return {'body': result, 'path': filename, 'url': url}
Esempio n. 3
0
 def test_with_multiindex(self):
     search = Search(
         indexes=['company', 'company_delta'],
         config=SearchConfig
     )
     search = search.filter(id__gte=100)
     self.assertEqual(
         search.lex(),
         "SELECT * FROM company, company_delta WHERE id>=100"
     )