Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Fix #20422: Fix makemessage's --ignore patterns being applied to #1076

Closed
wants to merge 1 commit into from

2 participants

@bmispelon
Collaborator

the full path instead of the file name.
Thanks to nnseva for the report and the original patch.

@bmispelon bmispelon Fix #20422: Fix makemessage's --ignore patterns being applied to
the full path instead of the file name.
Thanks to nnseva for the report and the original patch.
611fba5
@claudep
Collaborator

Thanks, pushed in 9012a9e

@claudep claudep closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on May 16, 2013
  1. @bmispelon

    Fix #20422: Fix makemessage's --ignore patterns being applied to

    bmispelon authored
    the full path instead of the file name.
    Thanks to nnseva for the report and the original patch.
This page is out of date. Refresh to see the latest.
View
7 django/core/management/commands/makemessages.py
@@ -309,10 +309,9 @@ def is_ignored(path, ignore_patterns):
"""
Check if the given path should be ignored or not.
"""
- for pattern in ignore_patterns:
- if fnmatch.fnmatchcase(path, pattern):
- return True
- return False
+ filename = os.path.basename(path)
+ ignore = lambda pattern: fnmatch.fnmatchcase(filename, pattern)
+ return any(ignore(pattern) for pattern in ignore_patterns)
dir_suffix = '%s*' % os.sep
norm_patterns = [p[:-len(dir_suffix)] if p.endswith(dir_suffix) else p for p in self.ignore_patterns]
View
9 tests/i18n/commands/extraction.py
@@ -279,17 +279,22 @@ class IgnoredExtractorTests(ExtractorTests):
def test_ignore_option(self):
os.chdir(self.test_dir)
- pattern1 = os.path.join('ignore_dir', '*')
+ ignore_patterns = [
+ os.path.join('ignore_dir', '*'),
+ 'xxx_*',
+ ]
stdout = StringIO()
management.call_command('makemessages', locale=LOCALE, verbosity=2,
- ignore_patterns=[pattern1], stdout=stdout)
+ ignore_patterns=ignore_patterns, stdout=stdout)
data = stdout.getvalue()
self.assertTrue("ignoring directory ignore_dir" in data)
+ self.assertTrue("ignoring file xxx_ignored.html" in data)
self.assertTrue(os.path.exists(self.PO_FILE))
with open(self.PO_FILE, 'r') as fp:
po_contents = fp.read()
self.assertMsgId('This literal should be included.', po_contents)
self.assertNotMsgId('This should be ignored.', po_contents)
+ self.assertNotMsgId('This should be ignored too.', po_contents)
class SymlinkExtractorTests(ExtractorTests):
View
2  tests/i18n/commands/templates/xxx_ignored.html
@@ -0,0 +1,2 @@
+{% load i18n %}
+{% trans "This should be ignored too." %}
Something went wrong with that request. Please try again.