22
33A PEP-0249 compatible driver for interfacing with Wherobots DB.
44"""
5+
56import ssl
67from importlib import metadata
78from importlib .metadata import PackageNotFoundError
1920from .constants import (
2021 DEFAULT_ENDPOINT ,
2122 DEFAULT_REGION ,
22- DEFAULT_REUSE_SESSION ,
2323 DEFAULT_RUNTIME ,
2424 DEFAULT_READ_TIMEOUT_SECONDS ,
25+ DEFAULT_SESSION_TYPE ,
2526 DEFAULT_SESSION_WAIT_TIMEOUT_SECONDS ,
2627 MAX_MESSAGE_SIZE ,
2728 PROTOCOL_VERSION ,
2829 AppStatus ,
2930 DataCompression ,
3031 GeometryRepresentation ,
3132 ResultsFormat ,
33+ SessionType ,
3234)
3335from .errors import (
3436 InterfaceError ,
@@ -62,7 +64,7 @@ def connect(
6264 region : Union [Region , None ] = None ,
6365 wait_timeout : float = DEFAULT_SESSION_WAIT_TIMEOUT_SECONDS ,
6466 read_timeout : float = DEFAULT_READ_TIMEOUT_SECONDS ,
65- reuse_session : bool = DEFAULT_REUSE_SESSION ,
67+ session_type : Union [ SessionType , None ] = None ,
6668 shutdown_after_inactive_seconds : Union [int , None ] = None ,
6769 results_format : Union [ResultsFormat , None ] = None ,
6870 data_compression : Union [DataCompression , None ] = None ,
@@ -82,10 +84,10 @@ def connect(
8284 host = host or DEFAULT_ENDPOINT
8385 runtime = runtime or DEFAULT_RUNTIME
8486 region = region or DEFAULT_REGION
87+ session_type = session_type or DEFAULT_SESSION_TYPE
8588
8689 logging .info (
87- "%s %s runtime in %s from %s ..." ,
88- "Recycling" if reuse_session else "Requesting" ,
90+ "Requesting %s runtime in %s from %s ..." ,
8991 runtime .value ,
9092 region .value ,
9193 host ,
@@ -98,7 +100,7 @@ def connect(
98100 try :
99101 resp = requests .post (
100102 url = f"{ host } /sql/session" ,
101- params = {"region" : region .value , "reuse_session " : reuse_session },
103+ params = {"region" : region .value , "sessionType " : session_type . value },
102104 json = {
103105 "runtimeId" : runtime .value ,
104106 "shutdownAfterInactiveSeconds" : shutdown_after_inactive_seconds ,
0 commit comments