partial backport of support for adbh's new interface to backup_command and restore_command
these methods can return lists or strings which are passed to subprocess.call
without or with the shell=True parameter respectively.
--- a/server/sqlutils.py Fri Jan 22 12:25:54 2010 +0100
+++ b/server/sqlutils.py Wed Jan 27 16:08:51 2010 +0100
@@ -174,7 +174,7 @@
cmd = self.dbhelper.backup_command(self.dbname, self.dbhost,
self.dbuser, backupfile,
keepownership=False)
- if subprocess.call(cmd):
+ if subprocess.call(cmd, shell=isinstance(cmd, str)):
raise Exception('Failed command: %s' % cmd)
def restore_from_file(self, backupfile, confirm, drop=True):
@@ -183,7 +183,7 @@
self.encoding,
keepownership=False,
drop=drop):
- if subprocess.call(cmd):
+ if subprocess.call(cmd, shell=isinstance(cmd, str)):
print '-> Failed command: %s' % cmd
if not confirm('Continue anyway?', default='n'):
raise Exception('Failed command: %s' % cmd)