fix profile switching
authorstack <stack@inventati.org>
Tue, 23 Sep 2014 18:23:00 +0000 (20:23 +0200)
committerstack <stack@inventati.org>
Tue, 23 Sep 2014 18:23:00 +0000 (20:23 +0200)
dboxswitch/gui.py
dboxswitch/profhandler.py

index ae2c3c8..70485f7 100644 (file)
@@ -48,7 +48,7 @@ class Gui(QtGui.QDialog):
         Default actions are builded and profile manager stored from argument (instance of ProfHandler """
 
         self.app = QtGui.QApplication(sys.argv)
-        for i in range(3):
+        for i in range(23):
                if not QtGui.QSystemTrayIcon.isSystemTrayAvailable():
                     sleep(4)
                 else:
index 8802f1f..a17b57a 100644 (file)
@@ -140,9 +140,10 @@ class ProfHandler():
             self.stopDropbox()
             try:
                 if pl in ('Linux','Darwin'):
-                    if os.path.exists(self.getDropboxDirectory()):
-                        os.unlink(self.getDropboxDirectory())
-                    os.symlink(ppath, self.getDropboxDirectory())
+                    dbdir = self.getDropboxDirectory()
+                    if os.path.exists(dbdir):
+                        os.unlink(dbdir)
+                    os.symlink(ppath, dbdir)
                 else:
                     raise NotImplementedError, "Not implemented yet."
             except IOError as e:
@@ -161,7 +162,7 @@ class ProfHandler():
         if pl in ('Linux', 'Darwin'):
             basepath = os.path.join(os.path.expanduser("~"), ".dropbox")
             for path in [os.path.join(basepath, "instance1"), basepath]:
-                if os.path.exists(path):
+                if os.path.exists(path) and os.path.islink(path):
                     return path 
             raise NotImplementedError("Path not found " + basepath + "[instance1]")
         elif pl == 'Windows':