From 204c2e0781ce89fd8abb7f1249920ce90414f9f6 Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 15 Dec 2007 05:58:36 -0800 Subject: Factor out functions with a common errno ignore block. --- gitosis/util.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gitosis/util.py') 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. -- cgit v1.2.3