Exemple #1
0
    def test1 (self):
        tags = TagsList (self.wikiroot)

        self.assertEqual (len (tags), 4)

        self.assertEqual (len (tags[u"Метка 1"]), 3)
        self.assertTrue (self.wikiroot[u"page 1"] in tags[u"Метка 1"])
        self.assertTrue (self.wikiroot[u"Страница 2"] in tags[u"Метка 1"])
        self.assertTrue (self.wikiroot[u"Страница 2/Страница 3/Страница 4"] in tags[u"Метка 1"])
Exemple #2
0
    def frequentTags(self):
        """
        Возвращает упорядоченный по количеству использований список кортежей вида: (имя тега, количество использований)
        """
        tags = TagsList(self._root)

        tagslist = [(tagName, len(tags[tagName])) for tagName in tags]
        tagslist.sort(key=lambda item: item[1], reverse=True)

        return tagslist
Exemple #3
0
    def test1(self):
        tags = TagsList(self.wikiroot)

        self.assertEqual(len(tags), 4)

        self.assertEqual(len(tags["Метка 1"]), 3)
        self.assertIn(self.wikiroot["page 1"], tags["Метка 1"])
        self.assertIn(self.wikiroot["Страница 2"], tags["Метка 1"])
        self.assertIn(self.wikiroot["Страница 2/Страница 3/Страница 4"],
                      tags["Метка 1"])
Exemple #4
0
    def testRenameNotExists (self):
        renameTag (self.wikiroot, u"МеТкА 666", u"Черная метка")

        tags = TagsList (self.wikiroot)

        self.assertEqual (len (tags[u"Метка 1"]), 3)
        self.assertEqual (len (tags[u"Метка 666"]), 0)

        self.assertTrue (self.wikiroot[u"page 1"] in tags[u"Метка 1"])
        self.assertTrue (self.wikiroot[u"Страница 2"] in tags[u"Метка 1"])
        self.assertTrue (self.wikiroot[u"Страница 2/Страница 3/Страница 4"] in tags[u"Метка 1"])
Exemple #5
0
    def testRenameTagBranch (self):
        renameTag (self.wikiroot[u"Страница 2"], u"МеТкА 1", u"Черная метка")

        tags = TagsList (self.wikiroot)

        self.assertEqual (len (tags[u"Метка 1"]), 1)
        self.assertEqual (len (tags[u"Черная метка"]), 2)

        self.assertTrue (self.wikiroot[u"page 1"] in tags[u"Метка 1"])
        self.assertTrue (self.wikiroot[u"Страница 2"] in tags[u"Черная метка"])
        self.assertTrue (self.wikiroot[u"Страница 2/Страница 3/Страница 4"] in tags[u"Черная метка"])
Exemple #6
0
    def UpdateView(self, page):
        """
        Обновить внешний вид страницы и отобразить найденные результаты
        """
        self._allTags = TagsList(self.page.root)
        self.__updatePageInfo()

        self._currentResultPages = self.__loadResults()

        self.__showResults(self._currentResultPages)
        self.__loadSortStrategy()
Exemple #7
0
    def _loadState(self):
        tagslist = TagsList(self._application.wikiroot)
        self._dialog.setTagsList(tagslist)
        if (self._parentPage is not None
                and self._parentPage.parent is not None):
            self._dialog.tags = self._parentPage.tags

        clipboardText = getClipboardText()
        if clipboardText is not None and isLink(clipboardText):
            self._dialog.url = clipboardText
            self._dialog.urlText.SetSelection(0, len(clipboardText))
Exemple #8
0
    def testRenameNotExists(self):
        renameTag(self.wikiroot, "МеТкА 666", "Черная метка")

        tags = TagsList(self.wikiroot)

        self.assertEqual(len(tags["Метка 1"]), 3)
        self.assertEqual(len(tags["Метка 666"]), 0)

        self.assertIn(self.wikiroot["page 1"], tags["Метка 1"])
        self.assertIn(self.wikiroot["Страница 2"], tags["Метка 1"])
        self.assertIn(self.wikiroot["Страница 2/Страница 3/Страница 4"],
                      tags["Метка 1"])
Exemple #9
0
    def testRenameTagBranch(self):
        renameTag(self.wikiroot["Страница 2"], "МеТкА 1", "Черная метка")

        tags = TagsList(self.wikiroot)

        self.assertEqual(len(tags["Метка 1"]), 1)
        self.assertEqual(len(tags["Черная метка"]), 2)

        self.assertIn(self.wikiroot["page 1"], tags["Метка 1"])
        self.assertIn(self.wikiroot["Страница 2"], tags["Черная метка"])
        self.assertIn(self.wikiroot["Страница 2/Страница 3/Страница 4"],
                      tags["Черная метка"])
Exemple #10
0
    def renameTagGui (self, wikiroot, parent):
        tagslist = TagsList (wikiroot)

        dlg = RenameTagDialog (parent, tagslist)
        if dlg.ShowModal() == wx.ID_OK:
            self._application.onStartTreeUpdate(wikiroot)

            try:
                renameTag (wikiroot, dlg.oldTagName, dlg.newTagName)
            finally:
                self._application.onEndTreeUpdate(wikiroot)

        dlg.Destroy()
    def updateTags(self):
        if self.__application.wikiroot is None:
            self.__tagsPanel.clearMarks()
            self.__tagsPanel.clearTags()
            self.__currentTags = None
            return

        tags = TagsList(self.__application.wikiroot)

        if not self.__isEqual(tags, self.__currentTags):
            self.__tagsPanel.setTags(tags)
            self.__currentTags = tags
            self.__markTags()
        else:
            self.__tagsPanel.updateTagLabels()
Exemple #12
0
    def __updateTagsList(self):
        """
        Обновить список тегов
        """
        assert self.page is not None

        # заполним список тегов
        list_items = TagsList(self._application.wikiroot)
        self.tagsList.setTags(list_items)

        tags = self.page.searchTags

        # Поставим галки, где нужно
        for tag in self._allTags:
            if tag in tags:
                self.tagsList.mark(tag)

        # Установим стратегию поиска по тегам
        strategyIndex = self._strategyList.index(self.page.strategy)

        self.tagsStrategy.SetSelection(strategyIndex)
Exemple #13
0
    def _setTagsList(self):
        assert self._application.wikiroot is not None

        tagslist = TagsList(self._application.wikiroot)
        self._generalPanel.tagsSelector.setTagsList(tagslist)
Exemple #14
0
    def __setTagsList(self):
        assert self.__application.wikiroot is not None

        tagslist = TagsList(self.__application.wikiroot)
        self.__tagsSelector.setTagsList(tagslist)
Exemple #15
0
 def _loadState(self):
     tagslist = TagsList(self._application.wikiroot)
     self._dialog.setTagsList(tagslist)
     if self._parentPage is not None and self._parentPage.parent is not None:
         self._dialog.tags = self._parentPage.tags
Exemple #16
0
 def tagsCount(self):
     """
     Возвращает количество используемых тегов в дереве
     """
     tags = TagsList(self._root)
     return len(tags)