예제 #1
0
    def testSearchTagsContent1(self):
        phrase = "метка"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 5)
예제 #2
0
    def testSearchAllAny(self):
        phrase = ""
        tags = []

        searcher = Searcher(phrase, tags, AnyTagSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 5)
예제 #3
0
    def testSearchFullAny(self):
        phrase = "Декабря"
        tags = ["Метка 2"]

        searcher = Searcher(phrase, tags, AnyTagSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 2)
        self.assertTrue(self.wikiroot["page 1"] in pages)
        self.assertTrue(self.wikiroot["Страница 2/Страница 3"] in pages)
예제 #4
0
    def testSearchTag2All(self):
        phrase = ""
        tags = ["МеткА 1", "МетКа 2"]

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 2)
        self.assertTrue(self.wikiroot["page 1"] in pages)
        self.assertTrue(self.wikiroot["page 1/page 5"] in pages)
예제 #5
0
    def testSearchAttach6(self):
        phrase = "ApplicAtiOn.pY"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 1)

        self.assertTrue(self.wikiroot["page 1"] in pages)
예제 #6
0
    def testSearchAttach3(self):
        phrase = "файл с пробелами"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 1)

        self.assertTrue(self.wikiroot["page 1"] in pages)
예제 #7
0
    def testSearchAttach5(self):
        phrase = u"SubdIr2"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 1)

        self.assertTrue(self.wikiroot[u"page 1"] in pages)
예제 #8
0
    def testSearchAttach2(self):
        phrase = "anchor"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 2)

        self.assertTrue(self.wikiroot["page 1"] in pages)
        self.assertTrue(self.wikiroot["Страница 2/Страница 3"] in pages)
예제 #9
0
    def testSearchContentAll(self):
        phrase = "Декабря"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 3)
        self.assertTrue(self.wikiroot["page 1"] in pages)
        self.assertTrue(self.wikiroot["Страница 2"] in pages)
        self.assertTrue(self.wikiroot["Страница 2/Страница 3"] in pages)
예제 #10
0
    def testSearchAttach1(self):
        phrase = u"accept"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 3)

        self.assertTrue(self.wikiroot[u"page 1"] in pages)
        self.assertTrue(self.wikiroot[u"Страница 2/Страница 3"] in pages)
        self.assertTrue(self.wikiroot[u"Страница 2"] in pages)
예제 #11
0
    def testSearchTag2Any(self):
        phrase = ""
        tags = ["МеткА 1", "МетКа 3"]

        searcher = Searcher(phrase, tags, AnyTagSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 4)
        self.assertTrue(self.wikiroot["page 1"] in pages)
        self.assertTrue(self.wikiroot["Страница 2"] in pages)
        self.assertTrue(
            self.wikiroot["Страница 2/Страница 3/Страница 4"] in pages)
        self.assertTrue(self.wikiroot["page 1/page 5"] in pages)
예제 #12
0
    def testSearchSingleTagAll(self):
        phrase = ""
        tags = ["Метка 1"]

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 4)
        self.assertTrue(self.wikiroot["page 1"] in pages)
        self.assertTrue(self.wikiroot["Страница 2"] in pages)
        self.assertTrue(
            self.wikiroot["Страница 2/Страница 3/Страница 4"] in pages)
        self.assertTrue(self.wikiroot["page 1/page 5"] in pages)
예제 #13
0
    def testSearchTagsContent2(self):
        phrase = "МеТкА 1"
        tags = []

        searcher = Searcher(phrase, tags, AllTagsSearchStrategy)
        pages = searcher.find(self.wikiroot)

        self.assertEqual(len(pages), 4)
        self.assertTrue(self.wikiroot["page 1"] in pages)
        self.assertTrue(self.wikiroot["Страница 2"] in pages)
        self.assertTrue(
            self.wikiroot["Страница 2/Страница 3/Страница 4"] in pages)
        self.assertTrue(self.wikiroot["page 1/page 5"] in pages)
예제 #14
0
    def __onFind(self, event):
        """
        Обработчик события кнопки "Найти"
        """
        assert self.page is not None

        self.page.updateDateTime()
        self.Save()

        phrase = self.__getSearchPhrase()
        tags = self.__getSearchTags()

        searcher = Searcher(phrase, tags, self.page.strategy)

        runner = LongProcessRunner(searcher.find, self._application.mainWindow,
                                   _(u"Search"), _(u"Search pages..."))

        self._currentResultPages = runner.run(self.page.root)

        self.__saveResults(self._currentResultPages)
        self.__showResults(self._currentResultPages)