7155: Support creating directories in various scenarios

This commit is contained in:
Paul Franklin 2015-03-18 14:01:13 -07:00
parent c40ea85727
commit 64ef033724
2 changed files with 20 additions and 6 deletions

View File

@ -520,12 +520,20 @@ class ReportDialog(ManagedWindow):
# we will need to create the file/dir # we will need to create the file/dir
# need to make sure we can create in the parent dir # need to make sure we can create in the parent dir
parent_dir = os.path.dirname(os.path.normpath(self.target_path)) parent_dir = os.path.dirname(os.path.normpath(self.target_path))
if not os.access(parent_dir, os.W_OK): if os.path.isdir(parent_dir):
ErrorDialog(_('Permission problem'), if not os.access(parent_dir, os.W_OK):
_("You do not have permission to create " ErrorDialog(_('Permission problem'),
"%s\n\n" _("You do not have permission to create "
"Please select another path or correct " "%s\n\n"
"the permissions.") % self.target_path, "Please select another path or correct "
"the permissions.") % self.target_path,
parent=self.window)
return None
else:
ErrorDialog(_('No directory'),
_('There is no directory %s.\n\n'
'Please select another directory '
'or create it.') % parent_dir,
parent=self.window) parent=self.window)
return None return None

View File

@ -139,6 +139,12 @@ class GrampsXmlWriter(UpdateCallback):
"Please make sure you have write access to the " "Please make sure you have write access to the "
"directory and try again.")) "directory and try again."))
return 0 return 0
else:
raise DbWriteFailure(_('No directory'),
_('There is no directory %s.\n\n'
'Please select another directory '
'or create it.') % base )
return 0
if os.path.exists(filename): if os.path.exists(filename):
if not os.access(filename, os.W_OK): if not os.access(filename, os.W_OK):