v.licheni.net
/
stack
/
code
/
dboxswitch.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed indentation typo in gui.py
[stack/code/dboxswitch.git]
/
profhandler.py
diff --git
a/profhandler.py
b/profhandler.py
old mode 100755
(executable)
new mode 100644
(file)
index
d0fbb17
..
f2be538
--- 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
""" 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 """
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):
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.")
@@
-109,7
+115,7
@@
class ProfHandler():
raise AppError('Profile Name does not exists')
else:
raise AppError('Profile Name not valid')
raise AppError('Profile Name does not exists')
else:
raise AppError('Profile Name not valid')
- print("Profile "+profileName+"
crea
ted.")
+ print("Profile "+profileName+"
dele
ted.")
def isCurrentProfile(self, ppath):
""" Returns true if the current profile path is currently activated """
def isCurrentProfile(self, ppath):
""" Returns true if the current profile path is currently activated """
@@
-133,8
+139,6
@@
class ProfHandler():
if ppath in self.getProfilesList():
self.stopDropbox()
try:
if ppath in self.getProfilesList():
self.stopDropbox()
try:
- print self.getDropboxDirectory()
- print ppath
if pl in ('Linux','Darwin'):
if os.path.exists(self.getDropboxDirectory()):
os.unlink(self.getDropboxDirectory())
if pl in ('Linux','Darwin'):
if os.path.exists(self.getDropboxDirectory()):
os.unlink(self.getDropboxDirectory())
@@
-142,11
+146,16
@@
class ProfHandler():
else:
raise NotImplementedError, "Not implemented yet."
except IOError as e:
else:
raise NotImplementedError, "Not implemented yet."
except IOError as e:
- raise AppError('Error on activating Profile: '+
os.path.basen
ame(ppath))
+ raise AppError('Error on activating Profile: '+
self.getBaseProfileN
ame(ppath))
self.startDropbox()
else:
raise AppError("Trying to acrivate non existant profile")
self.startDropbox()
else:
raise AppError("Trying to acrivate non existant profile")
+ def getBaseProfileName(self, ppath):
+ """ Returns the base name given a profile returned by getProfilesList """
+
+ return os.path.basename(ppath)
+
def getDropboxDirectory(self):
pl = platform.system()
if pl in ('Linux', 'Darwin'):
def getDropboxDirectory(self):
pl = platform.system()
if pl in ('Linux', 'Darwin'):
@@
-160,6
+169,8
@@
class ProfHandler():
def stopDropbox(self):
""" Stop dropbox Daemon """
pl = platform.system()
def stopDropbox(self):
""" Stop dropbox Daemon """
pl = platform.system()
+ if pl == 'Linux':
+ os.system("dropbox stop")
if pl in ('Linux','Darwin'):
pidfile = os.path.expanduser("~/.dropbox/dropbox.pid")
try:
if pl in ('Linux','Darwin'):
pidfile = os.path.expanduser("~/.dropbox/dropbox.pid")
try: