diff --git a/gitosis/gitweb.py b/gitosis/gitweb.py index a814a35..aff0b90 100644 --- a/gitosis/gitweb.py +++ b/gitosis/gitweb.py @@ -29,22 +29,14 @@ import os, urllib, logging from ConfigParser import RawConfigParser, NoSectionError, NoOptionError +from gitosis import util + def _escape_filename(s): s = s.replace('\\', '\\\\') s = s.replace('$', '\\$') s = s.replace('"', '\\"') return s -def _getRepositoryDir(config): - repositories = os.path.expanduser('~') - try: - path = config.get('gitosis', 'repositories') - except (NoSectionError, NoOptionError): - repositories = os.path.join(repositories, 'repositories') - else: - repositories = os.path.join(repositories, path) - return repositories - def generate(config, fp): """ Generate a config file and projects list for ``gitweb``. @@ -57,7 +49,7 @@ def generate(config, fp): """ log = logging.getLogger('gitosis.access.haveAccess') - repositories = _getRepositoryDir(config) + repositories = util.getRepositoryDir(config) try: global_enable = config.getboolean('gitosis', 'gitweb') diff --git a/gitosis/repository.py b/gitosis/repository.py index ea8db54..17a8818 100644 --- a/gitosis/repository.py +++ b/gitosis/repository.py @@ -1,15 +1,7 @@ -import errno import os import subprocess -def _mkdir(*a, **kw): - try: - os.mkdir(*a, **kw) - except OSError, e: - if e.errno == errno.EEXIST: - pass - else: - raise +from gitosis import util def init( path, @@ -19,7 +11,7 @@ def init( if _git is None: _git = 'git' - _mkdir(path, 0750) + util.mkdir(path, 0750) args = [_git, 'init'] if template is not None: args.append('--template=%s' % template) diff --git a/gitosis/util.py b/gitosis/util.py new file mode 100644 index 0000000..061660a --- /dev/null +++ b/gitosis/util.py @@ -0,0 +1,23 @@ +import errno +import os +from ConfigParser import NoSectionError, NoOptionError + +def mkdir(*a, **kw): + try: + os.mkdir(*a, **kw) + except OSError, e: + if e.errno == errno.EEXIST: + pass + else: + raise + +def getRepositoryDir(config): + repositories = os.path.expanduser('~') + try: + path = config.get('gitosis', 'repositories') + except (NoSectionError, NoOptionError): + repositories = os.path.join(repositories, 'repositories') + else: + repositories = os.path.join(repositories, path) + return repositories +