jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/400264 )
Change subject: Add an add_only parameter to replaceCategoryInPlace in textlib ...................................................................... Add an add_only parameter to replaceCategoryInPlace in textlib Bug: T183707 Change-Id: I67238337ee82e51ab6c876bbdfe32b05e7836cd2 --- M pywikibot/textlib.py M tests/textlib_tests.py 2 files changed, 20 insertions(+), 1 deletion(-) Approvals: Framawiki: Looks good to me, but someone else must approve jenkins-bot: Verified Xqt: Looks good to me, approved diff --git a/pywikibot/textlib.py b/pywikibot/textlib.py index cedb30d..71abed2 100644 --- a/pywikibot/textlib.py +++ b/pywikibot/textlib.py @@ -1164,13 +1164,16 @@ return removeCategoryLinks(text, site, marker) -def replaceCategoryInPlace(oldtext, oldcat, newcat, site=None): +def replaceCategoryInPlace(oldtext, oldcat, newcat, site=None, + add_only=False): """ Replace old category with new one and return the modified text. @param oldtext: Content of the old category @param oldcat: pywikibot.Category object of the old category @param newcat: pywikibot.Category object of the new category + @param add_only: If add_only is True, the old category won't + be replaced and the category given will be added after it. @return: the modified text @rtype: unicode """ @@ -1203,6 +1206,13 @@ text = replaceExcept(text, categoryR, '', ['nowiki', 'comment', 'math', 'pre', 'source'], site=site) + elif add_only: + text = replaceExcept(oldtext, categoryR, + '{0}\n{1}'.format( + oldcat.title(asLink=True), + newcat.title(asLink=True)), + ['nowiki', 'comment', 'math', 'pre', 'source'], + site=site) else: text = replaceExcept(oldtext, categoryR, '[[%s:%s\\2' % (site.namespace(14), diff --git a/tests/textlib_tests.py b/tests/textlib_tests.py index fb77566..476a7ba 100644 --- a/tests/textlib_tests.py +++ b/tests/textlib_tests.py @@ -244,6 +244,15 @@ # First and third categories are the same self.assertEqual([cats[1], cats[3]], temp_cats) + # Testing adding categories + temp = textlib.replaceCategoryInPlace( + self.old, cats[0], cats[1], site=self.site, + add_only=True) + self.assertNotEqual(temp, self.old) + temp_cats = textlib.getCategoryLinks(temp, site=self.site) + self.assertEqual([cats[0], cats[1], cats[1], + cats[2], cats[1], cats[3]], temp_cats) + new_cats = textlib.getCategoryLinks(new, site=self.site) self.assertEqual(cats, new_cats) -- To view, visit https://gerrit.wikimedia.org/r/400264 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I67238337ee82e51ab6c876bbdfe32b05e7836cd2 Gerrit-PatchSet: 3 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: Eflyjason <eflyja...@gmail.com> Gerrit-Reviewer: Framawiki <framaw...@tools.wmflabs.org> Gerrit-Reviewer: John Vandenberg <jay...@gmail.com> Gerrit-Reviewer: Xqt <i...@gno.de> Gerrit-Reviewer: Zoranzoki21 <zorandori4...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits