aboutsummaryrefslogtreecommitdiff
path: root/gitosis/util.py
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2007-12-15 05:58:36 -0800
committerRobin H. Johnson <robbat2@gentoo.org>2007-12-18 01:12:21 -0800
commit204c2e0781ce89fd8abb7f1249920ce90414f9f6 (patch)
tree08ccb761125a0276ae1c88037a59488a89e67ed6 /gitosis/util.py
parentPylint cleanups for run_hook.py. (diff)
downloadgitosis-dakkar-204c2e0781ce89fd8abb7f1249920ce90414f9f6.tar.gz
gitosis-dakkar-204c2e0781ce89fd8abb7f1249920ce90414f9f6.tar.bz2
gitosis-dakkar-204c2e0781ce89fd8abb7f1249920ce90414f9f6.zip
Factor out functions with a common errno ignore block.
Diffstat (limited to 'gitosis/util.py')
-rw-r--r--gitosis/util.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/gitosis/util.py b/gitosis/util.py
index ad0989c..4ae3d0c 100644
--- a/gitosis/util.py
+++ b/gitosis/util.py
@@ -3,6 +3,7 @@ Some utility functions for Gitosis
"""
import errno
import os
+import shutil
from ConfigParser import NoSectionError, NoOptionError
def mkdir(newdir, mode=0777):
@@ -17,6 +18,30 @@ def mkdir(newdir, mode=0777):
else:
raise
+def unlink(filename):
+ """
+ Like os.unlink, but non-existing files do not raise an error.
+ """
+ try:
+ os.unlink(filename)
+ except OSError, ex:
+ if ex.errno == errno.ENOENT:
+ pass
+ else:
+ raise
+
+def rmtree(directory):
+ """
+ Like shutil.rmtree, but non-existing trees do not raise an error.
+ """
+ try:
+ shutil.rmtree(directory)
+ except OSError, ex:
+ if ex.errno == errno.ENOENT:
+ pass
+ else:
+ raise
+
def getRepositoryDir(config):
"""
Find the location of the Git repositories.