Commit bf5382c6 authored by Mihail Milushev's avatar Mihail Milushev Committed by Tim Graham
Browse files

Fixed #22234 -- Replaced OS-specific code with subprocess.call() in dbshell.

This fixes escaping of special characters on Windows.
parent e4dd8b5d
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
import os
import sys
import subprocess

from django.db.backends import BaseDatabaseClient

@@ -34,7 +33,4 @@ class DatabaseClient(BaseDatabaseClient):
        if db:
            args += [db]

        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)
        subprocess.call(args)
+2 −6
Original line number Diff line number Diff line
import os
import sys
import subprocess

from django.db.backends import BaseDatabaseClient

@@ -10,7 +9,4 @@ class DatabaseClient(BaseDatabaseClient):
    def runshell(self):
        conn_string = self.connection._connect_string()
        args = [self.executable_name, "-L", conn_string]
        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)
        subprocess.call(args)
+2 −6
Original line number Diff line number Diff line
import os
import sys
import subprocess

from django.db.backends import BaseDatabaseClient

@@ -17,7 +16,4 @@ class DatabaseClient(BaseDatabaseClient):
        if settings_dict['PORT']:
            args.extend(["-p", str(settings_dict['PORT'])])
        args += [settings_dict['NAME']]
        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)
        subprocess.call(args)
+2 −6
Original line number Diff line number Diff line
import os
import sys
import subprocess

from django.db.backends import BaseDatabaseClient

@@ -10,7 +9,4 @@ class DatabaseClient(BaseDatabaseClient):
    def runshell(self):
        args = [self.executable_name,
                self.connection.settings_dict['NAME']]
        if os.name == 'nt':
            sys.exit(os.system(" ".join(args)))
        else:
            os.execvp(self.executable_name, args)
        subprocess.call(args)