tells if a profile already exists
authorstack <stack@inventati.org>
Wed, 11 Jul 2012 16:41:32 +0000 (18:41 +0200)
committerstack <stack@inventati.org>
Wed, 11 Jul 2012 16:41:32 +0000 (18:41 +0200)
catch OSError in profhandler.addProfile to know if some error is catched
and pass that as AppError to the gui, properly formatted on common
error, for example if the file already exists.

profhandler.py

index 7575da2..4db5ab0 100644 (file)
@@ -92,7 +92,13 @@ class ProfHandler():
 
         print("Creating a new profile")
         if self.isValidProfileName(profileName):
 
         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.")
         else:
             raise AppError('Profile Name not valid.\nAllowed only ascii characters.')
         print("Profile "+profileName+" created.")