app/django/db/backends/mysql/client.py
author Todd Larsen <tlarsen@google.com>
Wed, 14 Jan 2009 20:37:56 +0000
changeset 810 208659644a7f
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Hide 'tos' pull-down selector from Program profile forms. Until a way to select Documents for use as the Terms of Service for a Program exists (see http://code.google.com/p/soc/issues/detail?id=151), there is no point in hacking in scope_path and link_id fields here. The per-Program ToS feature will just be unavailable until an appropriate Document selector exists. Patch by: Todd Larsen Review by: to-be-reviewed

from django.db.backends import BaseDatabaseClient
from django.conf import settings
import os

class DatabaseClient(BaseDatabaseClient):
    executable_name = 'mysql'

    def runshell(self):
        args = ['']
        db = settings.DATABASE_OPTIONS.get('db', settings.DATABASE_NAME)
        user = settings.DATABASE_OPTIONS.get('user', settings.DATABASE_USER)
        passwd = settings.DATABASE_OPTIONS.get('passwd', settings.DATABASE_PASSWORD)
        host = settings.DATABASE_OPTIONS.get('host', settings.DATABASE_HOST)
        port = settings.DATABASE_OPTIONS.get('port', settings.DATABASE_PORT)
        defaults_file = settings.DATABASE_OPTIONS.get('read_default_file')
        # Seems to be no good way to set sql_mode with CLI.
    
        if defaults_file:
            args += ["--defaults-file=%s" % defaults_file]
        if user:
            args += ["--user=%s" % user]
        if passwd:
            args += ["--password=%s" % passwd]
        if host:
            args += ["--host=%s" % host]
        if port:
            args += ["--port=%s" % port]
        if db:
            args += [db]

        os.execvp(self.executable_name, args)