Beispiel #1
0
    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")
Beispiel #2
0
 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.")
Beispiel #3
0
 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)
Beispiel #4
0
    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")
Beispiel #5
0
    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")
Beispiel #6
0
 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
Beispiel #7
0
 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)