summaryrefslogtreecommitdiff
path: root/django/core
diff options
context:
space:
mode:
authorIlja Maas <iljamaas@dreamsolution.nl>2014-11-16 22:16:41 +0100
committerClaude Paroz <claude@2xlibre.net>2014-11-17 09:21:24 +0100
commitbb4a92d7845878b2ce0c4a5ca154cb4db22f7bad (patch)
tree12163a2aaf2187254b30a8eaef31d200bbb02d94 /django/core
parent580e9d0045d1b6ffaf7d52751a17b1a5a6075705 (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/core')
-rw-r--r--django/core/management/commands/makemessages.py15
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: