diff options
Diffstat (limited to 'gitosis/util.py')
-rw-r--r-- | gitosis/util.py | 25 |
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. |