def run(self): # pywikibot/families/eagle_family.py site = pywikibot.Site('en', 'eagle') repo = site.data_repository() selectedSet = self.getOption('selectedSet') for i in self.list_set[selectedSet]['lists']: self.current_page = pywikibot.Page(repo, i['page']) oldtext = self.current_page.get() itemList = get_property_list.getItemsForProperty(repo, i['property'], sort=i['show'], labelLang='en') newtext = '<div style="column-count: 5; -webkit-column-count: 5; -moz-column-count: 5;">' for j in itemList: linkTitle = j[i['show']] newtext += "\n" + '* [[' + j['title'] + '|' + linkTitle + ']]' newtext += "\n</div>\n\n[[Category:" + self.list_set[selectedSet][ 'category'] + "]]" self.userPut(self.current_page, oldtext, newtext, comment='Updating list')
def run(self): # pywikibot/families/eagle_family.py site = pywikibot.Site('en', 'eagle') repo = site.data_repository() idProp = self.getOption('idProp') insertProp = self.getOption('insertProp') matchDict = self.getOption('matchDict') itemList = get_property_list.getItemsForProperty( repo, idProp, additionalProperties=[insertProp]) for i in itemList: if i['property'] not in matchDict: continue self.current_page = pywikibot.ItemPage(repo, i['title']) pywikibot.output('Item matched by P' + idProp + ': ' + i['property']) toInsert = matchDict[i['property']] pywikibot.output('Attempting to insert P' + insertProp + ': ' + toInsert) if insertProp in i['additionalProperties']: if i['additionalProperties'][insertProp] == toInsert: pywikibot.output('The item already has the property ' + insertProp + ' with an identical content. Skipping') else: pywikibot.output('The item already has the property ' + insertProp + ' with a different content: ' + i['additionalProperties'][insertProp] + '. Skipping') continue newClaim = pywikibot.Claim(repo, 'P' + insertProp) newClaim.setTarget(toInsert) if self.user_confirm( 'Do you really want do add the claim for property P' + insertProp + '?'): self.current_page.addClaim(newClaim)
def run(self): # pywikibot/families/eagle_family.py site = pywikibot.Site('en', 'eagle') repo = site.data_repository() selectedSet = self.getOption('selectedSet') for i in self.list_set[selectedSet]['lists']: self.current_page = pywikibot.Page(repo, i['page']) oldtext = self.current_page.get() itemList = get_property_list.getItemsForProperty(repo, i['property'], sort=i['show'], labelLang='en') newtext = '<div style="column-count: 5; -webkit-column-count: 5; -moz-column-count: 5;">' for j in itemList: linkTitle = j[i['show']] newtext += "\n" + '* [[' + j['title'] + '|' + linkTitle + ']]' newtext += "\n</div>\n\n[[Category:" + self.list_set[selectedSet]['category'] + "]]" self.userPut(self.current_page, oldtext, newtext, comment='Updating list')
def run(self): # pywikibot/families/eagle_family.py site = pywikibot.Site('en', 'eagle') repo = site.data_repository() idProp = self.getOption('idProp') insertProp = self.getOption('insertProp') matchDict = self.getOption('matchDict') itemList = get_property_list.getItemsForProperty(repo, idProp, additionalProperties=[insertProp]) for i in itemList: if i['property'] not in matchDict: continue self.current_page = pywikibot.ItemPage(repo, i['title']) pywikibot.output('Item matched by P' + idProp + ': ' + i['property']) toInsert = matchDict[i['property']] pywikibot.output('Attempting to insert P' + insertProp + ': ' + toInsert) if insertProp in i['additionalProperties']: if i['additionalProperties'][insertProp] == toInsert: pywikibot.output('The item already has the property ' + insertProp + ' with an identical content. Skipping') else: pywikibot.output('The item already has the property ' + insertProp + ' with a different content: ' + i['additionalProperties'][insertProp] + '. Skipping') continue newClaim = pywikibot.Claim(repo, 'P' + insertProp) newClaim.setTarget(toInsert) if self.user_confirm('Do you really want do add the claim for property P' + insertProp + '?'): self.current_page.addClaim(newClaim)