def _glob_to_regexp(pat):
    """Compile a glob pattern into a regexp.

    We need to do this because fnmatch allows * to match /, which we
    don't want.  E.g. an MANIFEST.in exclude of 'dirname/*css' should
    match 'dirname/foo.css' but not 'dirname/subdir/bar.css'.
    """
    return glob_to_re(pat)
def _glob_to_regexp(pat):
    """Compile a glob pattern into a regexp.

    We need to do this because fnmatch allows * to match /, which we
    don't want.  E.g. a MANIFEST.in exclude of 'dirname/*css' should
    match 'dirname/foo.css' but not 'dirname/subdir/bar.css'.
    """
    return glob_to_re(pat)
Example #3
0
    def test_glob_to_re(self):
        # simple cases
        self.assertEquals(glob_to_re('foo*'), 'foo[^/]*\\Z(?ms)')
        self.assertEquals(glob_to_re('foo?'), 'foo[^/]\\Z(?ms)')
        self.assertEquals(glob_to_re('foo??'), 'foo[^/][^/]\\Z(?ms)')

        # special cases
        self.assertEquals(glob_to_re(r'foo\\*'), r'foo\\\\[^/]*\Z(?ms)')
        self.assertEquals(glob_to_re(r'foo\\\*'), r'foo\\\\\\[^/]*\Z(?ms)')
        self.assertEquals(glob_to_re('foo????'), r'foo[^/][^/][^/][^/]\Z(?ms)')
        self.assertEquals(glob_to_re(r'foo\\??'), r'foo\\\\[^/][^/]\Z(?ms)')
Example #4
0
 def test_glob_to_re(self):
     sep = os.sep
     if os.sep == '\\':
         sep = re.escape(os.sep)
     for glob, regex in (('foo*', 'foo[^%(sep)s]*\\Z(?ms)'),
      ('foo?', 'foo[^%(sep)s]\\Z(?ms)'),
      ('foo??', 'foo[^%(sep)s][^%(sep)s]\\Z(?ms)'),
      ('foo\\\\*', 'foo\\\\\\\\[^%(sep)s]*\\Z(?ms)'),
      ('foo\\\\\\*', 'foo\\\\\\\\\\\\[^%(sep)s]*\\Z(?ms)'),
      ('foo????', 'foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\\Z(?ms)'),
      ('foo\\\\??', 'foo\\\\\\\\[^%(sep)s][^%(sep)s]\\Z(?ms)')):
         regex = regex % {'sep': sep}
         self.assertEqual(glob_to_re(glob), regex)
    def test_glob_to_re(self):
        # simple cases
        self.assertEqual(glob_to_re('foo*'), 'foo[^/]*\\Z(?ms)')
        self.assertEqual(glob_to_re('foo?'), 'foo[^/]\\Z(?ms)')
        self.assertEqual(glob_to_re('foo??'), 'foo[^/][^/]\\Z(?ms)')

        # special cases
        self.assertEqual(glob_to_re(r'foo\\*'), r'foo\\\\[^/]*\Z(?ms)')
        self.assertEqual(glob_to_re(r'foo\\\*'), r'foo\\\\\\[^/]*\Z(?ms)')
        self.assertEqual(glob_to_re('foo????'), r'foo[^/][^/][^/][^/]\Z(?ms)')
        self.assertEqual(glob_to_re(r'foo\\??'), r'foo\\\\[^/][^/]\Z(?ms)')
Example #6
0
    def test_glob_to_re(self):
        # simple cases
        self.assertEqual(glob_to_re("foo*"), "foo[^/]*\\Z(?ms)")
        self.assertEqual(glob_to_re("foo?"), "foo[^/]\\Z(?ms)")
        self.assertEqual(glob_to_re("foo??"), "foo[^/][^/]\\Z(?ms)")

        # special cases
        self.assertEqual(glob_to_re(r"foo\\*"), r"foo\\\\[^/]*\Z(?ms)")
        self.assertEqual(glob_to_re(r"foo\\\*"), r"foo\\\\\\[^/]*\Z(?ms)")
        self.assertEqual(glob_to_re("foo????"), r"foo[^/][^/][^/][^/]\Z(?ms)")
        self.assertEqual(glob_to_re(r"foo\\??"), r"foo\\\\[^/][^/]\Z(?ms)")
Example #7
0
 def test_glob_to_re(self):
     sep = os.sep
     if os.sep == "\\":
         sep = re.escape(os.sep)
     for glob, regex in (
         ("foo*", "foo[^%(sep)s]*\\Z(?ms)"),
         ("foo?", "foo[^%(sep)s]\\Z(?ms)"),
         ("foo??", "foo[^%(sep)s][^%(sep)s]\\Z(?ms)"),
         ("foo\\\\*", "foo\\\\\\\\[^%(sep)s]*\\Z(?ms)"),
         ("foo\\\\\\*", "foo\\\\\\\\\\\\[^%(sep)s]*\\Z(?ms)"),
         ("foo????", "foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\\Z(?ms)"),
         ("foo\\\\??", "foo\\\\\\\\[^%(sep)s][^%(sep)s]\\Z(?ms)"),
     ):
         regex = regex % {"sep": sep}
         self.assertEqual(glob_to_re(glob), regex)
Example #8
0
    def test_glob_to_re(self):
        sep = os.sep
        if os.sep == '\\':
            sep = re.escape(os.sep)

        for glob, regex in (
                # simple cases
            ('foo*', r'foo[^%(sep)s]*\Z(?ms)'),
            ('foo?', r'foo[^%(sep)s]\Z(?ms)'),
            ('foo??', r'foo[^%(sep)s][^%(sep)s]\Z(?ms)'),
                # special cases
            (r'foo\\*', r'foo\\\\[^%(sep)s]*\Z(?ms)'),
            (r'foo\\\*', r'foo\\\\\\[^%(sep)s]*\Z(?ms)'),
            ('foo????', r'foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\Z(?ms)'),
            (r'foo\\??', r'foo\\\\[^%(sep)s][^%(sep)s]\Z(?ms)')):
            regex = regex % {'sep': sep}
            self.assertEqual(glob_to_re(glob), regex)
Example #9
0
    def test_glob_to_re(self):
        sep = os.sep
        if os.sep == '\\':
            sep = re.escape(os.sep)

        for glob, regex in (
            # simple cases
            ('foo*', r'foo[^%(sep)s]*\Z(?ms)'),
            ('foo?', r'foo[^%(sep)s]\Z(?ms)'),
            ('foo??', r'foo[^%(sep)s][^%(sep)s]\Z(?ms)'),
            # special cases
            (r'foo\\*', r'foo\\\\[^%(sep)s]*\Z(?ms)'),
            (r'foo\\\*', r'foo\\\\\\[^%(sep)s]*\Z(?ms)'),
            ('foo????', r'foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\Z(?ms)'),
            (r'foo\\??', r'foo\\\\[^%(sep)s][^%(sep)s]\Z(?ms)')):
            regex = regex % {'sep': sep}
            self.assertEqual(glob_to_re(glob), regex)