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"])
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
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"])
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"])
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"Черная метка"])
def UpdateView(self, page): """ Обновить внешний вид страницы и отобразить найденные результаты """ self._allTags = TagsList(self.page.root) self.__updatePageInfo() self._currentResultPages = self.__loadResults() self.__showResults(self._currentResultPages) self.__loadSortStrategy()
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))
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"])
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["Черная метка"])
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()
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)
def _setTagsList(self): assert self._application.wikiroot is not None tagslist = TagsList(self._application.wikiroot) self._generalPanel.tagsSelector.setTagsList(tagslist)
def __setTagsList(self): assert self.__application.wikiroot is not None tagslist = TagsList(self.__application.wikiroot) self.__tagsSelector.setTagsList(tagslist)
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
def tagsCount(self): """ Возвращает количество используемых тегов в дереве """ tags = TagsList(self._root) return len(tags)