diff --git a/product/ERP5Subversion/Tool/SubversionTool.py b/product/ERP5Subversion/Tool/SubversionTool.py index 47b3c6eea6c61035db2d7cef87674025f0be6420..a536c30bdc0522de7fbd3719302e10ec39b22358 100644 --- a/product/ERP5Subversion/Tool/SubversionTool.py +++ b/product/ERP5Subversion/Tool/SubversionTool.py @@ -50,6 +50,7 @@ from xml.sax.saxutils import escape from dircache import listdir from OFS.Traversable import NotFound from Products.ERP5Type.copyTree import copytree +from Products.ERP5Type.cacheWalk import cacheWalk try: from base64 import b64encode, b64decode @@ -135,40 +136,6 @@ class SubversionNotAWorkingCopyError(Exception): """The base exception class when business template is unknown. """ pass - -def cacheWalk(top, topdown=True, onerror=None): - """Directory tree generator. - - modification of os.path.walk to use dircache.listdir - instead of os.path.listdir - - Copyright (c) 2001, 2002, 2003, 2004 Python Software Foundation; All Rights Reserved - """ - try: - # Note that listdir and error are globals in this module due - # to earlier import-*. - names = listdir(top) - except os.error, err: - if onerror is not None: - onerror(err) - return - - dirs, nondirs = [], [] - for name in names: - if os.path.isdir(os.path.join(top, name)): - dirs.append(name) - else: - nondirs.append(name) - - if topdown: - yield top, dirs, nondirs - for name in dirs: - path = os.path.join(top, name) - if not os.path.islink(path): - for elem in cacheWalk(path, topdown, onerror): - yield elem - if not topdown: - yield top, dirs, nondirs def colorizeTag(tag):