/opt/imunify360/venv/lib/python3.11/site-packages/playhouse
NameSizeModeActions
__pycache__/-0755rm
apsw_ext.py50180644editdlrm
cockroachdb.py91690644editdlrm
dataset.py144880644editdlrm
db_url.py43580644editdlrm
fields.py16990644editdlrm
flask_utils.py81970644editdlrm
hybrid.py15280644editdlrm
kv.py56080644editdlrm
migrate.py334470644editdlrm
mysql_ext.py38740644editdlrm
pool.py130920644editdlrm
postgres_ext.py153360644editdlrm
psycopg3_ext.py54730644editdlrm
reflection.py311480644editdlrm
shortcuts.py117530644editdlrm
signals.py25110644editdlrm
sqlcipher_ext.py36320644editdlrm
sqliteq.py108190644editdlrm
sqlite_changelog.py47930644editdlrm
sqlite_ext.py485200644editdlrm
sqlite_udf.py136650644editdlrm
test_utils.py18540644editdlrm
__init__.py00644editdlrm
Edit: /opt/imunify360/venv/lib/python3.11/site-packages/playhouse/mysql_ext.py (3874B)
import json try: import mysql.connector as mysql_connector except ImportError: mysql_connector = None try: import mariadb except ImportError: mariadb = None from peewee import ImproperlyConfigured from peewee import Insert from peewee import MySQLDatabase from peewee import Node from peewee import NodeList from peewee import SQL from peewee import TextField from peewee import fn from peewee import __deprecated__ class MySQLConnectorDatabase(MySQLDatabase): def _connect(self): if mysql_connector is None: raise ImproperlyConfigured('MySQL connector not installed!') return mysql_connector.connect(db=self.database, autocommit=True, **self.connect_params) def cursor(self, commit=None, named_cursor=None): if commit is not None: __deprecated__('"commit" has been deprecated and is a no-op.') if self.is_closed(): if self.autoconnect: self.connect() else: raise InterfaceError('Error, database connection not opened.') return self._state.conn.cursor(buffered=True) def get_binary_type(self): return mysql_connector.Binary class MariaDBConnectorDatabase(MySQLDatabase): def _connect(self): if mariadb is None: raise ImproperlyConfigured('mariadb connector not installed!') self.connect_params.pop('charset', None) self.connect_params.pop('sql_mode', None) self.connect_params.pop('use_unicode', None) return mariadb.connect(db=self.database, autocommit=True, **self.connect_params) def cursor(self, commit=None, named_cursor=None): if commit is not None: __deprecated__('"commit" has been deprecated and is a no-op.') if self.is_closed(): if self.autoconnect: self.connect() else: raise InterfaceError('Error, database connection not opened.') return self._state.conn.cursor(buffered=True) def _set_server_version(self, conn): version = conn.server_version version, point = divmod(version, 100) version, minor = divmod(version, 100) self.server_version = (version, minor, point) if self.server_version >= (10, 5, 0): self.returning_clause = True def last_insert_id(self, cursor, query_type=None): if not self.returning_clause: return cursor.lastrowid elif query_type == Insert.SIMPLE: try: return cursor[0][0] except (AttributeError, IndexError): return cursor.lastrowid return cursor def get_binary_type(self): return mariadb.Binary class JSONField(TextField): field_type = 'JSON' def __init__(self, json_dumps=None, json_loads=None, **kwargs): self._json_dumps = json_dumps or json.dumps self._json_loads = json_loads or json.loads super(JSONField, self).__init__(**kwargs) def python_value(self, value): if value is not None: try: return self._json_loads(value) except (TypeError, ValueError): return value def db_value(self, value): if value is not None: if not isinstance(value, Node): value = self._json_dumps(value) return value def extract(self, path): return fn.json_extract(self, path) def Match(columns, expr, modifier=None): if isinstance(columns, (list, tuple)): match = fn.MATCH(*columns) # Tuple of one or more columns / fields. else: match = fn.MATCH(columns) # Single column / field. args = expr if modifier is None else NodeList((expr, SQL(modifier))) return NodeList((match, fn.AGAINST(args)))