from tf.server.kernel import makeTfConnection
from tf.applib.appmake import findAppConfig
from tf.core.helpers import console
config = findAppConfig('bhsa')
TIMEOUT = 5
TF = makeTfConnection(config.host, config.port, TIMEOUT)
kernelApi = TF.connect()
querySlow = '''
p:phrase
=: wFirst:word
wLast:word
:=
wGap:word
wFirst < wGap
wLast > wGap
p || wGap
v:verse
v [[ wFirst
v [[ wGap
'''
queryFast = '''
verse
p:phrase
wPreGap:word lex=L
wLast:word
:=
wGap:word
wPreGap <: wGap
wGap < wLast
p || wGap
'''
def search(query):
try:
(results, messages) = kernelApi.rawSearch(query)
except TimeoutError:
messages = f'Aborted query because it takes longer than {TIMEOUT} seconds.'
results = ()
if messages:
console(messages, error=True)
else:
console(f'{len(results)} results')
return results
def search(query): results = kernelApi.rawSearch(query) console(f'{len(results)} results') return results
search(queryFast)
13 results
((1414758, 655681, 7431, 7437, 7432), (1415131, 660328, 14553, 14561, 14554), (1415243, 661769, 16661, 16665, 16662), (1416757, 679503, 45899, 45905, 45900), (1417829, 690836, 67252, 67267, 67253), (1418680, 698941, 82851, 82855, 82852), (1419106, 702933, 90507, 90522, 90508), (1419283, 704590, 93542, 93552, 93543), (1419932, 712577, 107397, 107402, 107398), (1422163, 741726, 157214, 157222, 157215), (1424518, 774011, 211895, 211899, 211896), (1426819, 802329, 257062, 257070, 257063), (1435018, 879921, 375932, 375942, 375933))
search(querySlow)
Aborted query because it takes longer than 5 seconds.
()