PHP 8.2.30
Preview: client.py Size: 1.84 KB
/opt/hc_python/lib/python3.12/site-packages/mysql/connector/django/client.py

# MySQL Connector/Python - MySQL driver written in Python.

import django
import subprocess

if django.VERSION >= (1, 8):
    from django.db.backends.base.client import BaseDatabaseClient
else:
    from django.db.backends import BaseDatabaseClient


class DatabaseClient(BaseDatabaseClient):
    executable_name = 'mysql'

    @classmethod
    def settings_to_cmd_args(cls, settings_dict):
        args = [cls.executable_name]

        db = settings_dict['OPTIONS'].get('database', settings_dict['NAME'])
        user = settings_dict['OPTIONS'].get('user',
                                            settings_dict['USER'])
        passwd = settings_dict['OPTIONS'].get('password',
                                              settings_dict['PASSWORD'])
        host = settings_dict['OPTIONS'].get('host', settings_dict['HOST'])
        port = settings_dict['OPTIONS'].get('port', settings_dict['PORT'])
        defaults_file = settings_dict['OPTIONS'].get('read_default_file')

        # --defaults-file should always be the first option
        if defaults_file:
            args.append("--defaults-file={0}".format(defaults_file))

        # We force SQL_MODE to TRADITIONAL
        args.append("--init-command=SET @@session.SQL_MODE=TRADITIONAL")

        if user:
            args.append("--user={0}".format(user))
        if passwd:
            args.append("--password={0}".format(passwd))

        if host:
            if '/' in host:
                args.append("--socket={0}".format(host))
            else:
                args.append("--host={0}".format(host))

        if port:
            args.append("--port={0}".format(port))

        if db:
            args.append("--database={0}".format(db))

        return args

    def runshell(self):
        args = DatabaseClient.settings_to_cmd_args(
            self.connection.settings_dict)
        subprocess.call(args)

Directory Contents

Dirs: 1 × Files: 10

Name Size Perms Modified Actions
- drwxr-xr-x 2025-04-04 08:01:56
Edit Download
20.14 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
1.84 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
1.96 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
5.63 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
4.23 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
13.10 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
11.52 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
3.55 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
2.54 KB lrw-r--r-- 2025-04-04 08:01:56
Edit Download
0 B lrw-r--r-- 2025-04-04 08:01:56
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).