Second attempt at fixing the file handling code. Tested on Mac and Windows in both desktop and server modes.

This commit is contained in:
Dave Page
2016-06-17 22:05:49 +01:00
parent 2c62d1a4b7
commit 05e7ee5a05
8 changed files with 30 additions and 38 deletions

View File

@@ -131,7 +131,7 @@ class BackupMessage(IProcessDesc):
self.database
)
)
if self.backup_type == BACKUP.GLOBALS:
elif self.backup_type == BACKUP.GLOBALS:
res += html.safe_str(
_("Backing up the global objects on the server '{0}'").format(
"{0} ({1}:{2})".format(s.name, s.host, s.port)
@@ -213,7 +213,7 @@ def filename_with_file_manager_path(file):
storage_dir = get_storage_directory()
if storage_dir:
return os.path.join(storage_dir, file)
return os.path.join(storage_dir, file.lstrip('/'))
return file

View File

@@ -462,7 +462,7 @@ TODO LIST FOR BACKUP:
self.__internal.buttons[2].element.disabled = false;
} else {
self.__internal.buttons[2].element.disabled = true;
this.errorModel.set('file', '{{ _('Please provide filename') }}')
this.errorModel.set('file', '{{ _('Please provide a filename') }}')
}
});
},
@@ -499,8 +499,8 @@ TODO LIST FOR BACKUP:
data:{ 'data': JSON.stringify(args) },
success: function(res) {
if (res.success) {
alertify.message(
'{{ _('Background process for taking backup has been created!') }}',
alertify.notify(
'{{ _('Backup job created.') }}', 'success',
5
);
pgBrowser.Events.trigger('pgadmin-bgprocess:created', self);
@@ -512,7 +512,7 @@ TODO LIST FOR BACKUP:
try {
var err = $.parseJSON(xhr.responseText);
alertify.alert(
'{{ _('Backup failed...') }}',
'{{ _('Backup job failed.') }}',
err.errormsg
);
} catch (e) {}
@@ -677,7 +677,7 @@ TODO LIST FOR BACKUP:
data:{ 'data': JSON.stringify(args) },
success: function(res) {
if (res.success) {
alertify.message('{{ _('Background process for taking backup has been created!') }}', 1);
alertify.notify('{{ _('Backup job created.') }}', 'success', 5);
pgBrowser.Events.trigger('pgadmin-bgprocess:created', self);
}
},
@@ -685,7 +685,7 @@ TODO LIST FOR BACKUP:
try {
var err = $.parseJSON(xhr.responseText);
alertify.alert(
'{{ _('Backup failed...') }}',
'{{ _('Backup job failed.') }}',
err.errormsg
);
} catch (e) {}

View File

@@ -204,9 +204,9 @@ def create_import_export_job(sid):
if storage_dir:
storage_dir = storage_dir.replace('/', '\\')
data['filename'] = data['filename'].replace('\\', '\\\\')
data['filename'] = os.path.join(storage_dir, data['filename'])
data['filename'] = os.path.join(storage_dir, data['filename'].lstrip('/'))
else:
data['filename'] = os.path.join(storage_dir, data['filename'])
data['filename'] = os.path.join(storage_dir, data['filename'].lstrip('/'))
else:
return make_json_response(
data={'status': False, 'info': 'Please specify a valid file'}

View File

@@ -367,7 +367,7 @@ define(
data:{ 'data': JSON.stringify(args) },
success: function(res) {
if (res.success) {
Alertify.message('{{ _('Background process for taking import/export has been created!') }}', 1);
Alertify.notify('{{ _('Import/export job created.') }}', 'success', 5);
pgBrowser.Events.trigger('pgadmin-bgprocess:created', self);
}
},
@@ -375,7 +375,7 @@ define(
try {
var err = $.parseJSON(xhr.responseText);
Alertify.alert(
'{{ _('Import failed...') }}',
'{{ _('Import/export job failed.') }}',
err.errormsg
);
} catch (e) {}

View File

@@ -117,7 +117,7 @@ class RestoreMessage(IProcessDesc):
idx += 1
if no_args > 1:
res += ' "' + html.safe_str(self.bfile) + '"'
res += ' "' + html.safe_str(arg) + '"'
res += '</i></div>'
@@ -155,7 +155,7 @@ def filename_with_file_manager_path(file):
storage_dir = get_storage_directory()
if storage_dir:
return os.path.join(storage_dir, file)
return os.path.join(storage_dir, file.lstrip('/'))
return file
@@ -189,7 +189,7 @@ def create_restore_job(sid):
if server is None:
return make_json_response(
success=0,
errormsg=_("Could not find the specified server")
errormsg=_("Could not find the specified server.")
)
# To fetch MetaData for the server

View File

@@ -460,8 +460,8 @@ define([
data:{ 'data': JSON.stringify(args) },
success: function(res) {
if (res.success) {
alertify.message(
'{{ _('Restore job created!') }}', 5
alertify.notify(
'{{ _('Restore job created.') }}', 'success', 5
);
pgBrowser.Events.trigger('pgadmin-bgprocess:created', self);
} else {
@@ -472,7 +472,7 @@ define([
try {
var err = $.parseJSON(xhr.responseText);
alertify.alert(
'{{ _('Backup failed...') }}',
'{{ _('Restore failed.') }}',
err.errormsg
);
} catch (e) {}

View File

@@ -1126,7 +1126,7 @@ def load_file():
# generate full path of file
file_path = os.path.join(
storage_manager_path,
unquote(file_data['file_name'])
unquote(file_data['file_name'].lstrip('/'))
)
file_data = None
@@ -1182,10 +1182,12 @@ def save_file():
storage_manager_path = get_storage_directory()
# generate full path of file
file_path = os.path.join(
storage_manager_path,
unquote(file_data['file_name'])
)
file_path = unquote(file_data['file_name'])
if storage_manager_path is not None:
file_path = os.path.join(
storage_manager_path,
unquote(file_data['file_name'].lstrip('/'))
)
file_content = file_data['file_content']
# write to file