7155: Support creating directories in various scenarios

This commit is contained in:
Paul Franklin 2015-03-18 14:01:13 -07:00 committed by Ross Gammon
parent 4ae9a23931
commit 36e6ede0a2
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
# need to make sure we can create in the parent dir
parent_dir = os.path.dirname(os.path.normpath(self.target_path))
if not os.access(parent_dir, os.W_OK):
ErrorDialog(_('Permission problem'),
_("You do not have permission to create "
"%s\n\n"
"Please select another path or correct "
"the permissions.") % self.target_path,
if os.path.isdir(parent_dir):
if not os.access(parent_dir, os.W_OK):
ErrorDialog(_('Permission problem'),
_("You do not have permission to create "
"%s\n\n"
"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)
return None

View File

@ -139,6 +139,12 @@ class GrampsXmlWriter(UpdateCallback):
"Please make sure you have write access to the "
"directory and try again."))
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 not os.access(filename, os.W_OK):