X-Git-Url: https://v.licheni.net/stack/code/dboxswitch.git/blobdiff_plain/a5e393b35e4193a4d86379263aef24b61c8c2bba..6f9c3cf64e400c27aacc72492f37874bdf1a602d:/profhandler.py diff --git a/profhandler.py b/profhandler.py index 7575da2..f2be538 100644 --- a/profhandler.py +++ b/profhandler.py @@ -63,7 +63,7 @@ class ProfHandler(): """ Generate and returns the profiles it assumes that self.pdir is defined """ #this is generated every time to handle the case of the user renaming the directories by hand - return [os.path.join(self.pdir, f) for f in os.listdir(self.pdir)] + return sorted([os.path.join(self.pdir, f) for f in os.listdir(self.pdir)]) def getProfileFolder(self): """ Generates, in a os dependant way, the local folder where all profiles are stored """ @@ -92,7 +92,13 @@ class ProfHandler(): print("Creating a new profile") if self.isValidProfileName(profileName): - os.makedirs(os.path.join(self.getProfileFolder(), profileName)) + try: + os.makedirs(os.path.join(self.getProfileFolder(), profileName)) + except OSError,e: + if e.errno == errno.EEXIST: + raise AppError("Profile exists.") + else: + raise AppError(str(e)) else: raise AppError('Profile Name not valid.\nAllowed only ascii characters.') print("Profile "+profileName+" created.")