diff options
| author | Ilja Maas <iljamaas@dreamsolution.nl> | 2014-11-16 22:16:41 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2014-11-17 09:21:24 +0100 |
| commit | bb4a92d7845878b2ce0c4a5ca154cb4db22f7bad (patch) | |
| tree | 12163a2aaf2187254b30a8eaef31d200bbb02d94 /django | |
| parent | 580e9d0045d1b6ffaf7d52751a17b1a5a6075705 (diff) | |
Fixed #23840 -- Fixed makemessages find_files method
Changed the handling of extensions to be used for gettext. Now
obeying the --extension argument. find_files now only find the
given or default extensions and puts only these in the
TranslatableFiles. As a result there are no more confusing messages
for filetypes (extension) not handled by makemessages.
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/management/commands/makemessages.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/django/core/management/commands/makemessages.py b/django/core/management/commands/makemessages.py index 77e7e62493..ae6b72e946 100644 --- a/django/core/management/commands/makemessages.py +++ b/django/core/management/commands/makemessages.py @@ -61,8 +61,8 @@ class TranslatableFile(object): if command.verbosity > 1: command.stdout.write('processing file %s in %s\n' % (self.file, self.dirpath)) - _, file_ext = os.path.splitext(self.file) - if domain == 'djangojs' and file_ext in command.extensions: + file_ext = os.path.splitext(self.file)[1] + if domain == 'djangojs': orig_file = os.path.join(self.dirpath, self.file) work_file = orig_file is_templatized = command.gettext_version < (0, 18, 3) @@ -85,10 +85,10 @@ class TranslatableFile(object): '--output=-' ] + command.xgettext_options args.append(work_file) - elif domain == 'django' and (file_ext == '.py' or file_ext in command.extensions): + elif domain == 'django': orig_file = os.path.join(self.dirpath, self.file) work_file = orig_file - is_templatized = file_ext in command.extensions + is_templatized = file_ext != '.py' if is_templatized: with io.open(orig_file, encoding=settings.FILE_CHARSET) as fp: src_data = fp.read() @@ -250,8 +250,8 @@ class Command(BaseCommand): if self.domain == 'djangojs': exts = extensions if extensions else ['js'] else: - exts = extensions if extensions else ['html', 'txt'] - self.extensions = handle_extensions(exts) + exts = extensions if extensions else ['html', 'txt', 'py'] + self.extensions = handle_extensions(exts, ignored=()) if (locale is None and not exclude and not process_all) or self.domain is None: raise CommandError("Type '%s help %s' for usage information." % ( @@ -394,7 +394,8 @@ class Command(BaseCommand): self.locale_paths.insert(0, os.path.join(os.path.abspath(dirpath), dirname)) for filename in filenames: file_path = os.path.normpath(os.path.join(dirpath, filename)) - if is_ignored(file_path, self.ignore_patterns): + file_ext = os.path.splitext(filename)[1] + if not (file_ext in self.extensions) or is_ignored(file_path, self.ignore_patterns): if self.verbosity > 1: self.stdout.write('ignoring file %s in %s\n' % (filename, dirpath)) else: |
