app/django/db/backends/postgresql/client.py
author Sverre Rabbelier <srabbelier@gmail.com>
Wed, 21 Jan 2009 16:12:01 +0000
changeset 873 cbb1d15ffe91
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Added a merge_params and check_access decorator The merge_params decorator is very simple and takes self._params and merges it with params. It's main purpose is to explicitly mark the views in which it is intended that self._params is merged raw. The check_access decorator factors out the access checking process and passes args and kwargs to the access checking methods. Patch by: Sverre Rabbelier

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

class DatabaseClient(BaseDatabaseClient):
    executable_name = 'psql'

    def runshell(self):
        args = [self.executable_name]
        if settings.DATABASE_USER:
            args += ["-U", settings.DATABASE_USER]
        if settings.DATABASE_PASSWORD:
            args += ["-W"]
        if settings.DATABASE_HOST:
            args.extend(["-h", settings.DATABASE_HOST])
        if settings.DATABASE_PORT:
            args.extend(["-p", str(settings.DATABASE_PORT)])
        args += [settings.DATABASE_NAME]
        os.execvp(self.executable_name, args)