Files
secondo/apis/python2/SecondoAPI/api_test.py
2026-01-23 17:03:45 +08:00

62 lines
1.8 KiB
Python

#!/usr/bin/env python3
# Add the module to your pathon path
# export PYTHONPATH=$PYTHONPATH:/home/nidzwetzki/secondo/apis/python2/SecondoAPI/PY
#
# Install needed modules
# python3 -m venv .venv
# source .venv/bin/activate
# pip3 install nest_asyncio
# pip3 install pyparsing
import asyncio
from PySecondo import *
async def execute_api_calls():
scn = Secondo(secondo_port=12340, optimizer_port=12350)
print("Open database opt")
await scn.command_exec("open database opt")
print("Performing plz query")
plz_output = await scn.command_exec('query plz')
print(plz_output)
print("Performing plz query (count)")
plz_output_count = await scn.command_exec('query plz count')
print(plz_output_count)
print("Performing plz sql query")
plz_output_sql = await scn.command_exec('select * from plz')
print(plz_output_sql)
print("Performing query with pysend")
await scn.command_exec('query plz feed pysend[30000] count')
for item in scn.fetch_stream_result():
print(item)
#print ("Performing delete query")
#await scn.command_exec('delete testrel')
print ("Performing insert query with pyreceive")
tuples = [[1059,"Dresden"], [1060,"Dresden"], [1001,"Dresden"], [1002,"Dresden"],
[1003,"Dresden"],[1004,"Dresden"],[1005,"Dresden"],[1006,"Dresden"],
[1007,"Dresden"],[1008,"Dresden"]]
await scn.command_exec('let testrel = [ const rel(tuple([Plz: int, Ort: string])) value() ] pyreceive[30000] consume', tupel_source = tuples)
print("Performing testrel query")
testrel_output = await scn.command_exec('query testrel')
print(testrel_output)
print ("Closing connection")
scn.close()
# Python 3.7+
# asyncio.run(execute_api_calls())
# Python 3.6
asyncio.get_event_loop().run_until_complete(execute_api_calls())