Loading django/core/management/commands/makemessages.py +16 −37 Original line number Diff line number Diff line Loading @@ -47,31 +47,27 @@ def _popen(cmd): output, errors = p.communicate() return output, errors, p.returncode def walk(root, topdown=True, onerror=None, followlinks=False, ignore_patterns=None, verbosity=0, stdout=sys.stdout): def find_files(root, ignore_patterns, verbosity, stdout=sys.stdout, symlinks=False): """ A version of os.walk that can follow symlinks for Python < 2.6 Helper function to get all files in the given root. """ if ignore_patterns is None: ignore_patterns = [] dir_suffix = '%s*' % os.sep norm_patterns = [p[:-len(dir_suffix)] if p.endswith(dir_suffix) else p for p in ignore_patterns] for dirpath, dirnames, filenames in os.walk(root, topdown, onerror): remove_dirs = [] for dirname in dirnames: all_files = [] for dirpath, dirnames, filenames in os.walk(root, topdown=True, followlinks=symlinks): for dirname in dirnames[:]: if is_ignored(os.path.normpath(os.path.join(dirpath, dirname)), norm_patterns): remove_dirs.append(dirname) for dirname in remove_dirs: dirnames.remove(dirname) if verbosity > 1: stdout.write('ignoring directory %s\n' % dirname) yield (dirpath, dirnames, filenames) if followlinks: for d in dirnames: p = os.path.join(dirpath, d) if os.path.islink(p): for link_dirpath, link_dirnames, link_filenames in walk(p): yield (link_dirpath, link_dirnames, link_filenames) for filename in filenames: if is_ignored(os.path.normpath(os.path.join(dirpath, filename)), ignore_patterns): if verbosity > 1: stdout.write('ignoring file %s in %s\n' % (filename, dirpath)) else: all_files.extend([(dirpath, filename)]) all_files.sort() return all_files def is_ignored(path, ignore_patterns): """ Loading @@ -82,23 +78,6 @@ def is_ignored(path, ignore_patterns): return True return False def find_files(root, ignore_patterns, verbosity, stdout=sys.stdout, symlinks=False): """ Helper function to get all files in the given root. """ all_files = [] for (dirpath, dirnames, filenames) in walk(root, followlinks=symlinks, ignore_patterns=ignore_patterns, verbosity=verbosity, stdout=stdout): for filename in filenames: norm_filepath = os.path.normpath(os.path.join(dirpath, filename)) if is_ignored(norm_filepath, ignore_patterns): if verbosity > 1: stdout.write('ignoring file %s in %s\n' % (filename, dirpath)) else: all_files.extend([(dirpath, filename)]) all_files.sort() return all_files def copy_plural_forms(msgs, locale, domain, verbosity, stdout=sys.stdout): """ Copies plural forms header contents from a Django catalog of locale to Loading Loading
django/core/management/commands/makemessages.py +16 −37 Original line number Diff line number Diff line Loading @@ -47,31 +47,27 @@ def _popen(cmd): output, errors = p.communicate() return output, errors, p.returncode def walk(root, topdown=True, onerror=None, followlinks=False, ignore_patterns=None, verbosity=0, stdout=sys.stdout): def find_files(root, ignore_patterns, verbosity, stdout=sys.stdout, symlinks=False): """ A version of os.walk that can follow symlinks for Python < 2.6 Helper function to get all files in the given root. """ if ignore_patterns is None: ignore_patterns = [] dir_suffix = '%s*' % os.sep norm_patterns = [p[:-len(dir_suffix)] if p.endswith(dir_suffix) else p for p in ignore_patterns] for dirpath, dirnames, filenames in os.walk(root, topdown, onerror): remove_dirs = [] for dirname in dirnames: all_files = [] for dirpath, dirnames, filenames in os.walk(root, topdown=True, followlinks=symlinks): for dirname in dirnames[:]: if is_ignored(os.path.normpath(os.path.join(dirpath, dirname)), norm_patterns): remove_dirs.append(dirname) for dirname in remove_dirs: dirnames.remove(dirname) if verbosity > 1: stdout.write('ignoring directory %s\n' % dirname) yield (dirpath, dirnames, filenames) if followlinks: for d in dirnames: p = os.path.join(dirpath, d) if os.path.islink(p): for link_dirpath, link_dirnames, link_filenames in walk(p): yield (link_dirpath, link_dirnames, link_filenames) for filename in filenames: if is_ignored(os.path.normpath(os.path.join(dirpath, filename)), ignore_patterns): if verbosity > 1: stdout.write('ignoring file %s in %s\n' % (filename, dirpath)) else: all_files.extend([(dirpath, filename)]) all_files.sort() return all_files def is_ignored(path, ignore_patterns): """ Loading @@ -82,23 +78,6 @@ def is_ignored(path, ignore_patterns): return True return False def find_files(root, ignore_patterns, verbosity, stdout=sys.stdout, symlinks=False): """ Helper function to get all files in the given root. """ all_files = [] for (dirpath, dirnames, filenames) in walk(root, followlinks=symlinks, ignore_patterns=ignore_patterns, verbosity=verbosity, stdout=stdout): for filename in filenames: norm_filepath = os.path.normpath(os.path.join(dirpath, filename)) if is_ignored(norm_filepath, ignore_patterns): if verbosity > 1: stdout.write('ignoring file %s in %s\n' % (filename, dirpath)) else: all_files.extend([(dirpath, filename)]) all_files.sort() return all_files def copy_plural_forms(msgs, locale, domain, verbosity, stdout=sys.stdout): """ Copies plural forms header contents from a Django catalog of locale to Loading