def mirroringAndModifyPages(srcFam, srcCode, dstFam, dstCode, pagesName, categories, modifications, options): """Synchronize wiki pages from named page list and named categories list return the number of succes synchronized pages and files """ # configure sites siteSrc = Site(fam=srcFam, code=srcCode) siteDst = Site(fam=dstFam, code=dstCode) # logging now to modify pages on dest siteDst.login() # disable slow down wiki write mechanics siteDst.throttle.maxdelay = 0 # init pages to copy pages = pagesName nbMods = 0 nbPagesSync = 0 nbPagesUpload = 0 # get pages in categories if (categories): pages.extend(getPagesTitleFromCategorie(siteSrc, categories)) if (options["pagesSync"]): # copy all pages ! (nbPagesSync, nbPagesUpload) = mirroringPagesWithDependances( siteSrc, siteDst, pages, options) if (modifications and options["modifyPages"]): nbMods = modifyPages(siteSrc, siteDst, pages, modifications) return (nbPagesSync, nbPagesUpload, nbMods)
page_protected.save() page_platzhalter = Page(self.wiki, "Benutzer:THE IT/RE/Arthur Stein/platzhalter") page_platzhalter.text = self.join_lists(list_platzhalter) page_platzhalter.save() return True @staticmethod def join_lists(some_list) -> str: snippet = "]]\n* [[" return f"* [[{snippet.join(some_list)}]]" @staticmethod def is_protected(lemma: Page) -> bool: protection_dict = lemma.protection() if "edit" in protection_dict.keys(): if protection_dict["edit"][0] == "sysop": return True return False if __name__ == "__main__": WS_WIKI = Site(code="de", fam="wikisource", user="******") WS_WIKI.login() with ArthurStein(wiki=WS_WIKI, debug=False, log_to_screen=True, log_to_wiki=False) as bot: bot.run()