11import logging
22import os
3- from typing import Any , Dict , List , Optional
3+ import typing
44
5- from redshift_connector .core import BINARY , Connection , Cursor , Interval
5+ from redshift_connector .core import BINARY , Connection , Cursor
66from redshift_connector .error import (
77 ArrayContentNotHomogenousError ,
88 ArrayContentNotSupportedError ,
1818 ProgrammingError ,
1919 Warning ,
2020)
21- from redshift_connector .iamHelper import set_iam_properties
21+ from redshift_connector .iam_helper import set_iam_properties
2222from redshift_connector .objects import (
2323 Binary ,
2424 Date ,
3636 PGTsvector ,
3737 PGVarchar ,
3838)
39- from redshift_connector .RedshiftProperty import RedshiftProperty
39+ from redshift_connector .redshift_property import RedshiftProperty
4040
41- from ._version import get_versions
41+ from .version import __version__
4242
43- __version__ = get_versions ()['version' ]
44- del get_versions
45- path = os .path .abspath (__file__ )
46- log_path = '/' .join (path .split ('/' )[:- 1 ]) + '/driver.log'
43+ path : str = os .path .abspath (__file__ )
44+ log_path : str = "/" .join (path .split ("/" )[:- 1 ]) + "/driver.log"
4745
4846# Copyright (c) 2007-2009, Mathieu Fenniak
4947# Copyright (c) The Contributors
7775
7876
7977def connect (
80- user : Optional [str ], host : str = 'localhost' , database : Optional [str ] = None ,
81- port : int = 5432 , password : Optional [str ] = None ,
82- source_address : Optional [str ] = None , unix_sock : Optional [str ] = None ,
83- ssl : bool = True , sslmode : str = "verify-ca" , timeout : Optional [int ] = None ,
84- max_prepared_statements : int = 1000 , tcp_keepalive : bool = True ,
85- application_name : Optional [str ] = None , replication : Optional [str ] = None ,
86- idp_host : Optional [str ] = None , db_user : Optional [str ] = None ,
87- app_id : Optional [str ] = None , app_name : str = 'amazon_aws_redshift' ,
88- preferred_role : Optional [str ] = None , principal_arn : Optional [str ] = None ,
89- credentials_provider : Optional [str ] = None , region : Optional [str ] = None ,
90- cluster_identifier : Optional [str ] = None , iam : bool = False ,
91- client_id : Optional [str ] = None , idp_tenant : Optional [str ] = None ,
92- client_secret : Optional [str ] = None , partner_sp_id : Optional [str ] = None ,
93- idp_response_timeout : int = 120 , listen_port : int = 7890 ,
94- login_url : Optional [str ] = None , auto_create : bool = False ,
95- db_groups : Optional [List [str ]] = None , force_lowercase : bool = False ,
96- allow_db_user_override : bool = False , dsilog_level : int = 0 ,
97- log_path : str = log_path
78+ user : str ,
79+ database : str ,
80+ password : str ,
81+ port : int = 5439 ,
82+ host : str = "localhost" ,
83+ source_address : typing .Optional [str ] = None ,
84+ unix_sock : typing .Optional [str ] = None ,
85+ ssl : bool = True ,
86+ sslmode : str = "verify-ca" ,
87+ timeout : typing .Optional [int ] = None ,
88+ max_prepared_statements : int = 1000 ,
89+ tcp_keepalive : bool = True ,
90+ application_name : typing .Optional [str ] = None ,
91+ replication : typing .Optional [str ] = None ,
92+ idp_host : typing .Optional [str ] = None ,
93+ db_user : typing .Optional [str ] = None ,
94+ app_id : typing .Optional [str ] = None ,
95+ app_name : str = "amazon_aws_redshift" ,
96+ preferred_role : typing .Optional [str ] = None ,
97+ principal_arn : typing .Optional [str ] = None ,
98+ credentials_provider : typing .Optional [str ] = None ,
99+ region : typing .Optional [str ] = None ,
100+ cluster_identifier : typing .Optional [str ] = None ,
101+ iam : bool = False ,
102+ client_id : typing .Optional [str ] = None ,
103+ idp_tenant : typing .Optional [str ] = None ,
104+ client_secret : typing .Optional [str ] = None ,
105+ partner_sp_id : typing .Optional [str ] = None ,
106+ idp_response_timeout : int = 120 ,
107+ listen_port : int = 7890 ,
108+ login_url : typing .Optional [str ] = None ,
109+ auto_create : bool = False ,
110+ db_groups : typing .Optional [typing .List [str ]] = None ,
111+ force_lowercase : bool = False ,
112+ allow_db_user_override : bool = False ,
113+ log_level : int = 0 ,
114+ log_path : str = log_path ,
98115) -> Connection :
99116
100- FORMAT_TO_USE : str = (
101- "%(levelname)s|%(asctime)s|%(name)s|%(filename)s|" "%(funcName)s|%(lineno)d: %(message)s"
102- )
103- log_level_dic : Dict [int , int ] = {
117+ FORMAT_TO_USE : str = "%(levelname)s|%(asctime)s|%(name)s|%(filename)s|" "%(funcName)s|%(lineno)d: %(message)s"
118+ log_level_dic : typing .Dict [int , int ] = {
104119 0 : logging .CRITICAL ,
105120 1 : logging .ERROR ,
106121 2 : logging .WARN ,
107122 3 : logging .INFO ,
108- 4 : logging .DEBUG
123+ 4 : logging .DEBUG ,
109124 }
110- logging .basicConfig (filename = log_path , filemode = 'w' , format = FORMAT_TO_USE , level = logging .INFO )
111- logging .disable (log_level_dic [dsilog_level ])
125+ logging .basicConfig (filename = log_path , filemode = "w" , format = FORMAT_TO_USE , level = logging .INFO )
126+ logging .disable (log_level_dic [log_level ])
112127
113128 info : RedshiftProperty = RedshiftProperty ()
114- set_iam_properties (info , user , host = host , database = database , port = port , password = password ,
115- source_address = source_address , unix_sock = unix_sock ,
116- ssl = ssl , sslmode = sslmode , timeout = timeout ,
117- max_prepared_statements = max_prepared_statements ,
118- tcp_keepalive = tcp_keepalive , application_name = application_name ,
119- replication = replication , idp_host = idp_host , db_user = db_user ,
120- app_id = app_id , app_name = app_name , preferred_role = preferred_role , principal_arn = principal_arn ,
121- credentials_provider = credentials_provider ,
122- region = region , cluster_identifier = cluster_identifier , iam = iam ,
123- client_id = client_id , idp_tenant = idp_tenant , client_secret = client_secret ,
124- partner_sp_id = partner_sp_id , idp_response_timeout = idp_response_timeout , listen_port = listen_port ,
125- login_url = login_url , auto_create = auto_create , db_groups = db_groups ,
126- force_lowercase = force_lowercase , allow_db_user_override = allow_db_user_override )
129+ set_iam_properties (
130+ info ,
131+ user = user ,
132+ host = host ,
133+ database = database ,
134+ port = port ,
135+ password = password ,
136+ source_address = source_address ,
137+ unix_sock = unix_sock ,
138+ ssl = ssl ,
139+ sslmode = sslmode ,
140+ timeout = timeout ,
141+ max_prepared_statements = max_prepared_statements ,
142+ tcp_keepalive = tcp_keepalive ,
143+ application_name = application_name ,
144+ replication = replication ,
145+ idp_host = idp_host ,
146+ db_user = db_user ,
147+ app_id = app_id ,
148+ app_name = app_name ,
149+ preferred_role = preferred_role ,
150+ principal_arn = principal_arn ,
151+ credentials_provider = credentials_provider ,
152+ region = region ,
153+ cluster_identifier = cluster_identifier ,
154+ iam = iam ,
155+ client_id = client_id ,
156+ idp_tenant = idp_tenant ,
157+ client_secret = client_secret ,
158+ partner_sp_id = partner_sp_id ,
159+ idp_response_timeout = idp_response_timeout ,
160+ listen_port = listen_port ,
161+ login_url = login_url ,
162+ auto_create = auto_create ,
163+ db_groups = db_groups ,
164+ force_lowercase = force_lowercase ,
165+ allow_db_user_override = allow_db_user_override ,
166+ )
127167
128168 return Connection (
129- user = info .user_name , host = info .host , database = info .db_name ,
130- port = info .port , password = info .password ,
131- source_address = info .source_address , unix_sock = info .unix_sock ,
132- ssl = info .ssl , sslmode = info .sslmode , timeout = info .timeout ,
169+ user = info .user_name ,
170+ host = info .host ,
171+ database = info .db_name ,
172+ port = info .port ,
173+ password = info .password ,
174+ source_address = info .source_address ,
175+ unix_sock = info .unix_sock ,
176+ ssl = info .ssl ,
177+ sslmode = info .sslmode ,
178+ timeout = info .timeout ,
133179 max_prepared_statements = info .max_prepared_statements ,
134- tcp_keepalive = info .tcp_keepalive , application_name = info .application_name ,
135- replication = info .replication )
180+ tcp_keepalive = info .tcp_keepalive ,
181+ application_name = info .application_name ,
182+ replication = info .replication ,
183+ )
136184
137185
138186apilevel : str = "2.0"
@@ -151,7 +199,7 @@ def connect(
151199<http://www.python.org/dev/peps/pep-0249/>`_.
152200"""
153201
154- paramstyle : str = ' format'
202+ paramstyle : str = " format"
155203
156204# I have no idea what this would be used for by a client app. Should it be
157205# TEXT, VARCHAR, CHAR? It will only compare against row_description's
@@ -162,20 +210,44 @@ def connect(
162210"""String type oid."""
163211
164212
165- NUMBER : int = 1700
213+ NUMBER : int = 1700
166214"""Numeric type oid"""
167215
168- DATETIME : int = 1114
216+ DATETIME : int = 1114
169217"""Timestamp type oid"""
170218
171- ROWID : int = 26
219+ ROWID : int = 26
172220"""ROWID type oid"""
173221
174- __all__ : Any = [
175- Warning , DataError , DatabaseError , connect , InterfaceError ,
176- ProgrammingError , Error , OperationalError , IntegrityError , InternalError ,
177- NotSupportedError , ArrayContentNotHomogenousError ,
178- ArrayDimensionsNotConsistentError , ArrayContentNotSupportedError ,
179- Connection , Cursor , Binary , Date , DateFromTicks , Time , TimeFromTicks ,
180- Timestamp , TimestampFromTicks , BINARY , Interval , PGEnum , PGJson , PGJsonb ,
181- PGTsvector , PGText , PGVarchar ]
222+ __all__ : typing .Any = [
223+ "Warning" ,
224+ "DataError" ,
225+ "DatabaseError" ,
226+ "connect" ,
227+ "InterfaceError" ,
228+ "ProgrammingError" ,
229+ "Error" ,
230+ "OperationalError" ,
231+ "IntegrityError" ,
232+ "InternalError" ,
233+ "NotSupportedError" ,
234+ "ArrayContentNotHomogenousError" ,
235+ "ArrayDimensionsNotConsistentError" ,
236+ "ArrayContentNotSupportedError" ,
237+ "Connection" ,
238+ "Cursor" ,
239+ "Binary" ,
240+ "Date" ,
241+ "DateFromTicks" ,
242+ "Time" ,
243+ "TimeFromTicks" ,
244+ "Timestamp" ,
245+ "TimestampFromTicks" ,
246+ "BINARY" ,
247+ "PGEnum" ,
248+ "PGJson" ,
249+ "PGJsonb" ,
250+ "PGTsvector" ,
251+ "PGText" ,
252+ "PGVarchar" ,
253+ ]
0 commit comments