示例#1
0
    def test_is_subdir(self):
        self.assertTrue(is_subdir('/profile/blog', '/profile/blog/123'))
        self.assertTrue(is_subdir('/profile/blog/', '/profile/blog/123'))
        self.assertFalse(is_subdir('/profile/blog', '/profile/photo'))

        self.assertTrue(is_subdir('/profile/blog', '/profile/blog/123',
                                  trailing_slash=True))
        self.assertTrue(is_subdir('/profile/blog/', '/profile/blog/123',
                                  trailing_slash=True))
        self.assertFalse(is_subdir('/profile/blog/', '/profile/photo',
                                   trailing_slash=True))
        self.assertTrue(is_subdir('/profile/blog', '/profile/photo',
                                  trailing_slash=True))

        self.assertTrue(is_subdir('/profile/blog-*-', '/profile/blog-1-/',
                                  wildcards=True))
        self.assertFalse(is_subdir('/profile/blog-*-', '/profile/blog/',
                                   wildcards=True))
        self.assertFalse(is_subdir('/profile/blog-*-', '/profile/',
                                   wildcards=True))
示例#2
0
    def test_is_subdir(self):
        self.assertTrue(is_subdir('/profile/blog', '/profile/blog/123'))
        self.assertTrue(is_subdir('/profile/blog/', '/profile/blog/123'))
        self.assertFalse(is_subdir('/profile/blog', '/profile/photo'))

        self.assertTrue(is_subdir('/profile/blog', '/profile/blog/123',
                                  trailing_slash=True))
        self.assertTrue(is_subdir('/profile/blog/', '/profile/blog/123',
                                  trailing_slash=True))
        self.assertFalse(is_subdir('/profile/blog/', '/profile/photo',
                                   trailing_slash=True))
        self.assertTrue(is_subdir('/profile/blog', '/profile/photo',
                                  trailing_slash=True))

        self.assertTrue(is_subdir('/profile/blog-*-', '/profile/blog-1-/',
                                  wildcards=True))
        self.assertFalse(is_subdir('/profile/blog-*-', '/profile/blog/',
                                   wildcards=True))
        self.assertFalse(is_subdir('/profile/blog-*-', '/profile/',
                                   wildcards=True))
示例#3
0
    def test(self, url_info, url_table_record):
        if url_table_record.inline_level:
            return True

        if url_table_record.root_url:
            top_url_info = URLInfo.parse(url_table_record.root_url)
        else:
            top_url_info = url_info

        if schemes_similar(url_info.scheme, top_url_info.scheme) \
           and url_info.hostname == top_url_info.hostname \
           and (
               url_info.scheme != top_url_info.scheme or
               url_info.port == top_url_info.port
        ):
            return is_subdir(top_url_info.path, url_info.path,
                             trailing_slash=True)

        return True
示例#4
0
 def _is_rejected(self, url_info):
     for dirname in self._rejected:
         if is_subdir(dirname, url_info.path, wildcards=True):
             return True