summaryrefslogtreecommitdiffstats
path: root/cobbler/action_sync.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2006-05-09 14:25:18 -0400
committerJim Meyering <jim@meyering.net>2006-05-09 14:25:18 -0400
commit89a38d1c2db3d38a45644df8fe29e0769eb9b230 (patch)
treecea38e95a3bcd798a96de895ce6dcb44ea9011e0 /cobbler/action_sync.py
parent4494a9f367838913f1898faef81ba27a849008aa (diff)
downloadthird_party-cobbler-89a38d1c2db3d38a45644df8fe29e0769eb9b230.tar.gz
third_party-cobbler-89a38d1c2db3d38a45644df8fe29e0769eb9b230.tar.xz
third_party-cobbler-89a38d1c2db3d38a45644df8fe29e0769eb9b230.zip
Fixes to non-root error handling.
Diffstat (limited to 'cobbler/action_sync.py')
-rw-r--r--cobbler/action_sync.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/cobbler/action_sync.py b/cobbler/action_sync.py
index af8d086..b00bb6b 100644
--- a/cobbler/action_sync.py
+++ b/cobbler/action_sync.py
@@ -38,8 +38,8 @@ class BootSync:
"""
self.verbose = verbose
self.dryrun = dryrun
- self.copy_pxelinux()
self.clean_trees()
+ self.copy_pxelinux()
self.copy_distros()
self.validate_kickstarts()
self.configure_httpd()
@@ -84,7 +84,7 @@ class BootSync:
"""
for x in ["pxelinux.cfg","images","systems","distros","profiles","kickstarts"]:
path = os.path.join(self.settings.tftpboot,x)
- self.rmtree(path, True)
+ self.rmtree(path)
self.mkdir(path)
def copy_distros(self):
@@ -301,7 +301,11 @@ class BootSync:
self.sync_log(cobbler_msg.lookup("copying") % (src,dst))
if self.dryrun:
return True
- return shutil.copyfile(src,dst)
+ try:
+ return shutil.copyfile(src,dst)
+ except IOError, ioe:
+ raise cexceptions.CobblerException("need_perms2",src,dst)
+
def copy(self,src,dst):
"""
@@ -310,16 +314,22 @@ class BootSync:
self.sync_log(cobbler_msg.lookup("copying") % (src,dst))
if self.dryrun:
return True
- return shutil.copy(src,dst)
+ try:
+ return shutil.copy(src,dst)
+ except IOError, ioe:
+ raise cexceptions.CobblerException("need_perms2",src,dst)
- def rmtree(self,path,ignore):
+ def rmtree(self,path):
"""
For dryrun support: potentially delete a tree.
"""
self.sync_log(cobbler_msg.lookup("removing") % (path))
if self.dryrun:
return True
- return shutil.rmtree(path,ignore)
+ try:
+ return shutil.rmtree(path)
+ except OSError, ioe:
+ raise cexceptions.CobblerException("no_delete",path)
def mkdir(self,path,mode=0777):
"""
@@ -328,7 +338,10 @@ class BootSync:
self.sync_log(cobbler_msg.lookup("mkdir") % (path))
if self.dryrun:
return True
- return os.mkdir(path,mode)
+ try:
+ return os.mkdir(path,mode)
+ except:
+ raise cexceptions.CobblerException("no_create", path)
def sync_log(self,message):
"""