Gui showTrayprofiles showing path and not profile name, fixed
[stack/code/dboxswitch.git] / profhandler.py
index 760f45f..5ef71e5 100755 (executable)
@@ -1,4 +1,3 @@
-#!/usr/bin/python
 # -*- coding: utf-8 -*-
 
 """
@@ -117,26 +116,27 @@ class ProfHandler():
         else:
             return False
 
-    def activateProfile(self, pname):
-        if pname in self.getProfilesList():
+    def activateProfile(self, ppath):
+        if ppath in self.getProfilesList():
             self.stopDropbox()
             try:
-                with open(os.path.join(self.getProfileFolder(), pname)) as pdir:
+                with open(ppath) as pdir:
                     os.unlink(self.getDropboxDirectory())
-                    os.symlink(os.path.join(self.getProfileFolder(), pname), self.getDropboxDirectory())
+                    os.symlink(ppath, self.getDropboxDirectory())
             except IOError as e:
-                raise AppError('Error on activating Profile: '+pname)
+                raise AppError('Error on activating Profile: '+ppath)
             self.startDropbox()
         else:
             raise AppError("Trying to acrivate non existant profile")
 
     def getDropboxDirectory(self):
         pl = platform.system()
-        if pl == 'Linux':
+        if pl in ('Linux', 'Darwin'):
             return os.path.join(os.path.expanduser('~'),".dropbox")
         elif pl == 'Windows':
-            raise NotImplementedError, "Not implemented yet."
-        elif pl == 'Darwin':
+            assert os.environ.has_key('APPDATA'), Exception('APPDATA env variable not found')
+            return os.path.join(os.environ['APPDATA'],'Dropbox')
+        else:
             raise NotImplementedError, "Not implemented yet."