From a2eb5a09c3a3256f81a103cf1d39f6dec88ce3a6 Mon Sep 17 00:00:00 2001 From: "Soren I. Bjornstad" Date: Tue, 17 Jun 2014 17:51:02 -0500 Subject: [PATCH] allow changing case of profile name on Windows --- aqt/profiles.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/aqt/profiles.py b/aqt/profiles.py index 4503240d6..25aec728d 100644 --- a/aqt/profiles.py +++ b/aqt/profiles.py @@ -140,9 +140,24 @@ documentation for information on using a flash drive.""") self.name = name newFolder = self.profileFolder(create=False) if os.path.exists(newFolder): - showWarning(_("Folder already exists.")) - self.name = oldName - return + if (oldFolder != newFolder) and ( + oldFolder.lower() == newFolder.lower()): + # 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 self.db.execute("update profiles set name = ? where name = ?", name.encode("utf8"), oldName.encode("utf-8"))