def test_page_no_lock(self): self.text_mock.return_value = ARTICLE_TEMPLATE self.page_mock.protection.return_value = {} re_page = RePage(self.page_mock) re_page[0].text = "bla" re_page.save("reason")
def _save_re_page(self, re_page: RePage, list_of_done_tasks: List[str]): if not self.debug: save_message = f"ReScanner hat folgende Aufgaben bearbeitet: {', '.join(list_of_done_tasks)}" self.logger.debug(save_message) try: re_page.save(save_message) except ReDatenException: self.logger.error("RePage can't be saved.")
def test_save_because_of_changes(self): before = "{{REDaten}}\ntext\n{{REAutor|Autor.}}" self.text_mock.return_value = before re_page = RePage(self.page_mock) re_page.save("reason") self.text_mock.assert_called_with(ARTICLE_TEMPLATE) self.page_mock.save.assert_called_once_with(summary="reason", botflag=True)
def test_page_is_locked_detect_it(self): self.text_mock.return_value = ARTICLE_TEMPLATE self.page_mock.protection.return_value = { "edit": ("sysop", "infinity"), "move": ("sysop", "infinity") } re_page = RePage(self.page_mock) re_page[0].text = "bla" with self.assertRaises(ReDatenException): re_page.save("reason")
def test_page_is_locked(self): self.text_mock.return_value = ARTICLE_TEMPLATE def side_effect(summary, botflag): raise pywikibot.exceptions.LockedPageError(self.page_mock) self.page_mock.save.side_effect = side_effect re_page = RePage(self.page_mock) re_page[0].text = "bla" with self.assertRaises(ReDatenException): re_page.save("reason")
def task(self): # pragma: no cover error_task = ERROTask(wiki=self.wiki, debug=False, logger=self.logger) for lemma in self.search_pages(): page = Page(self.wiki, lemma["title"]) temp_text = page.text try: temp_text = self.convert_all(temp_text) page.text = temp_text re_page = RePage(page) if not self.debug: re_page.save("Entfernen veralteter Vorlagen.") except (ReDatenException, ValueError): error = traceback.format_exc().splitlines()[-1] error_task.task(lemma["title"], error) error_task.finish_task() if self.search_pages(): return False return True
def test_dont_save_because_no_changes(self): self.text_mock.return_value = ARTICLE_TEMPLATE re_page = RePage(self.page_mock) re_page.save("reason") self.assertFalse(self.page_mock.save.mock_calls)