web/lib/django/db/backends/postgresql/client.py
changeset 0 0d40e90630ef
child 29 cc9b7e14412b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/django/db/backends/postgresql/client.py	Wed Jan 20 00:34:04 2010 +0100
@@ -0,0 +1,23 @@
+import os
+import sys
+
+from django.db.backends import BaseDatabaseClient
+
+class DatabaseClient(BaseDatabaseClient):
+    executable_name = 'psql'
+
+    def runshell(self):
+        settings_dict = self.connection.settings_dict
+        args = [self.executable_name]
+        if settings_dict['DATABASE_USER']:
+            args += ["-U", settings_dict['DATABASE_USER']]
+        if settings_dict['DATABASE_HOST']:
+            args.extend(["-h", settings_dict['DATABASE_HOST']])
+        if settings_dict['DATABASE_PORT']:
+            args.extend(["-p", str(settings_dict['DATABASE_PORT'])])
+        args += [settings_dict['DATABASE_NAME']]
+        if os.name == 'nt':
+            sys.exit(os.system(" ".join(args)))
+        else:
+            os.execvp(self.executable_name, args)
+