allow changing case of profile name on Windows

This commit is contained in:
Soren I. Bjornstad 2014-06-17 17:51:02 -05:00
parent ebcab2122d
commit a2eb5a09c3

View file

@ -140,9 +140,24 @@ documentation for information on using a flash drive.""")
self.name = name self.name = name
newFolder = self.profileFolder(create=False) newFolder = self.profileFolder(create=False)
if os.path.exists(newFolder): if os.path.exists(newFolder):
showWarning(_("Folder already exists.")) if (oldFolder != newFolder) and (
self.name = oldName oldFolder.lower() == newFolder.lower()):
return # OS is telling us the folder exists because it does not take
# case into account; use a temporary folder location
midFolder = ''.join([oldFolder, '-temp'])
if not os.path.exists(midFolder):
os.rename(oldFolder, midFolder)
oldFolder = midFolder
else:
showWarning(_("Please remove the folder %s and try again.")
% midFolder)
self.name = oldName
return
else:
showWarning(_("Folder already exists."))
self.name = oldName
return
# update name # update name
self.db.execute("update profiles set name = ? where name = ?", self.db.execute("update profiles set name = ? where name = ?",
name.encode("utf8"), oldName.encode("utf-8")) name.encode("utf8"), oldName.encode("utf-8"))