fix profile renaming

This commit is contained in:
Damien Elmes 2012-09-06 02:24:41 +09:00
parent 0f2eb2d056
commit bc87e23e02

View file

@ -136,14 +136,14 @@ documentation for information on using a flash drive.""")
oldName = self.name oldName = self.name
oldFolder = self.profileFolder() oldFolder = self.profileFolder()
self.name = name self.name = name
newFolder = self.profileFolder() newFolder = self.profileFolder(create=False)
if os.path.exists(newFolder): if os.path.exists(newFolder):
showWarning(_("Folder already exists.")) showWarning(_("Folder already exists."))
self.name = oldName self.name = oldName
return 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"), self.name.encode("utf-8")) name.encode("utf8"), oldName.encode("utf-8"))
# rename folder # rename folder
os.rename(oldFolder, newFolder) os.rename(oldFolder, newFolder)
self.db.commit() self.db.commit()
@ -151,8 +151,11 @@ documentation for information on using a flash drive.""")
# Folder handling # Folder handling
###################################################################### ######################################################################
def profileFolder(self): def profileFolder(self, create=True):
return self._ensureExists(os.path.join(self.base, self.name)) path = os.path.join(self.base, self.name)
if create:
self._ensureExists(path)
return path
def addonFolder(self): def addonFolder(self):
return self._ensureExists(os.path.join(self.base, "addons")) return self._ensureExists(os.path.join(self.base, "addons"))