venv active
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
'''
|
||||
MariaDB Connector/Python module enables python programs to access MariaDB and
|
||||
MySQL databases, using an API which is compliant with the Python DB API 2.0
|
||||
(PEP-249).
|
||||
'''
|
||||
import mariadb
|
||||
from ._mariadb import (
|
||||
DataError,
|
||||
DatabaseError,
|
||||
Error,
|
||||
IntegrityError,
|
||||
InterfaceError,
|
||||
InternalError,
|
||||
NotSupportedError,
|
||||
OperationalError,
|
||||
PoolError,
|
||||
ProgrammingError,
|
||||
Warning,
|
||||
mariadbapi_version,
|
||||
_have_asan,
|
||||
)
|
||||
|
||||
from .field import fieldinfo
|
||||
from mariadb.dbapi20 import * # noqa: F401,F403
|
||||
from mariadb.connectionpool import * # noqa: F401,F403
|
||||
from mariadb.cursors import Cursor
|
||||
from mariadb.release_info import __version__ as __version__
|
||||
from mariadb.release_info import __version_info__ as __version_info__
|
||||
from mariadb.release_info import __author__ as __author__
|
||||
from mariadb.connections import Connection
|
||||
# disable for now, until tests are in place
|
||||
# from mariadb.pooling import *
|
||||
|
||||
_POOLS = _CONNECTION_POOLS = {}
|
||||
|
||||
__all__ = ["DataError", "DatabaseError", "Error", "IntegrityError",
|
||||
"InterfaceError", "InternalError", "NotSupportedError",
|
||||
"OperationalError", "PoolError", "ProgrammingError",
|
||||
"Warning", "Connection", "__version__", "__version_info__",
|
||||
"__author__", "Cursor", "fieldinfo", "_have_asan"]
|
||||
|
||||
|
||||
def connect(*args, connectionclass=mariadb.connections.Connection, **kwargs):
|
||||
"""
|
||||
Creates a MariaDB Connection object.
|
||||
|
||||
By default, the standard connectionclass mariadb.connections.Connection
|
||||
will be created.
|
||||
|
||||
Parameter connectionclass specifies a subclass of
|
||||
mariadb.Connection object. If not specified, default will be used.
|
||||
This optional parameter was added in version 1.1.0.
|
||||
|
||||
Connection parameters are provided as a set of keyword arguments:
|
||||
|
||||
- **`host`** - The host name or IP address of the database server. If MariaDB Connector/Python was built with MariaDB Connector/C 3.3, it is also possible to provide a comma separated list of hosts for simple fail over in case of one or more hosts are not available.
|
||||
- **`user`, `username`** - The username used to authenticate with the database server
|
||||
- **`password`, `passwd`** - The password of the given user
|
||||
- **`database`, `db`** - Database (schema) name to use when connecting with the database server
|
||||
- **`unix_socket`** - The location of the unix socket file to use instead of using an IP port to connect. If socket authentication is enabled, this can also be used in place of a password.
|
||||
- **`port`** - Port number of the database server. If not specified, the default value of 3306 will be used.
|
||||
- **`connect_timeout`** - Connect timeout in seconds
|
||||
- **`read_timeout`** - Read timeout in seconds
|
||||
- **`write_timeout`** - Write timeout in seconds
|
||||
- **`local_infile`** - Enables or disables the use of LOAD DATA LOCAL INFILE statements.
|
||||
- **`compress`** (default: `False`) - Uses the compressed protocol for client server communication. If the server doesn't support compressed protocol, the default protocol will be used.
|
||||
- **`init_command`** - Command(s) which will be executed when connecting and reconnecting to the database server
|
||||
- **`default_file`** - Read options from the specified option file. If the file is an empty string, default configuration file(s) will be used
|
||||
- **`default_group`** - Read options from the specified group
|
||||
- **`plugin_dir`** - Directory which contains MariaDB client plugins.
|
||||
- **`reconnect`** - Enables or disables automatic reconnect. Available since version 1.1.4
|
||||
- **`ssl_key`** - Defines a path to a private key file to use for TLS. This option requires that you use the absolute path, not a relative path. The specified key must be in PEM format
|
||||
- **`ssl_cert`** - Defines a path to the X509 certificate file to use for TLS. This option requires that you use the absolute path, not a relative path. The X609 certificate must be in PEM format.
|
||||
- **`ssl_ca`** - Defines a path to a PEM file that should contain one or more X509 certificates for trusted Certificate Authorities (CAs) to use for TLS. This option requires that you use the absolute path, not a relative path.
|
||||
- **`ssl_capath`** - Defines a path to a directory that contains one or more PEM files that contains one X509 certificate for a trusted Certificate Authority (CA)
|
||||
- **`ssl_cipher`** - Defines a list of permitted cipher suites to use for TLS
|
||||
- **`ssl_crlpath`** - Defines a path to a PEM file that should contain one or more revoked X509 certificates to use for TLS. This option requires that you use the absolute path, not a relative path.
|
||||
- **`ssl_verify_cert`** - Enables server certificate verification.
|
||||
- **`ssl`** - The connection must use TLS security, or it will fail.
|
||||
- **`tls_version`** - A comma-separated list (without whitespaces) of TLS versions. Valid versions are TLSv1.0, TLSv1.1,TLSv1.2 and TLSv1.3. Added in version 1.1.7.
|
||||
- **`autocommit`** (default: `False`) - Specifies the autocommit settings. True will enable autocommit, False will disable it (default).
|
||||
- **`converter`** - Specifies a conversion dictionary, where keys are FIELD_TYPE values and values are conversion functions
|
||||
|
||||
"""
|
||||
if kwargs:
|
||||
if "pool_name" in kwargs:
|
||||
if not kwargs["pool_name"] in mariadb._CONNECTION_POOLS:
|
||||
pool = mariadb.ConnectionPool(**kwargs)
|
||||
else:
|
||||
pool = mariadb._CONNECTION_POOLS[kwargs["pool_name"]]
|
||||
c = pool.get_connection()
|
||||
return c
|
||||
|
||||
connection = connectionclass(*args, **kwargs)
|
||||
if not isinstance(connection, mariadb.connections.Connection):
|
||||
raise mariadb.ProgrammingError("%s is not an instance of "
|
||||
"mariadb.Connection" % connection)
|
||||
return connection
|
||||
|
||||
|
||||
client_version_info = tuple(int(x, 10) for x in mariadbapi_version.split('.'))
|
||||
client_version = client_version_info[0] * 10000 +\
|
||||
client_version_info[1] * 1000 + client_version_info[2]
|
||||
Reference in New Issue
Block a user