#!/usr/bin/env python2# -*- coding: utf-8 -*-"""Created on Mon May 13 23:48:29 2019@author: jipsagak"""importpywikibotfrompywikibotimportpagegeneratorsimportre#Mineral_Mindat kategoriako mineralen artikuluak hobetu formula eta sistema kristalinoa wikidatatik hartzen saiatutadefformula(page1):item=pywikibot.ItemPage.fromPage(page1)# this can be used for any page object, wikidatako elementuaitem.get()# you need to call it to access any data.sitelinks=item.sitelinksifitem.claims:if'P274'initem.claims:# formula kimikoa (P274) formula1=item.claims['P274'][0].getTarget()return(formula1)defsist_kristalino(page1):item=pywikibot.ItemPage.fromPage(page1)# this can be used for any page object, wikidatako elementuaitem.get()# you need to call it to access any data.sitelinks=item.sitelinksifitem.claims:if'P556'initem.claims:# sistema kristalinoa (P556) kristal_esp=item.claims['P556'][0].getTarget()# Adibidez: [[wikidata:Q648961]]kristal_esp.get()# you need to call it to access any data.sitelinks2=kristal_esp.sitelinksif'eu'inkristal_esp.labels:return('[['+kristal_esp.labels['eu']+'|S'+kristal_esp.labels['eu'][9:]+'a]]')defzuzendu_formula_edota_sitkristal(page):aldaketarik=False# site = pywikibot.Site('eu')# page = pywikibot.Page(site, u"Armalkolita")text=page.textprint(text)ifre.search('\s]]ren arabera sortzen ditu kristalak.',text):print('aurkitua: ]]ren arabera sortzen ditu kristalak. ')SK=sist_kristalino(page)ifSK!=None:print(SK)text=re.sub(r"\s]]ren arabera sortzen ditu kristalak.",' '+SK+'ren arabera sortzen ditu kristalak.',text)aldaketarik=Trueelse:text=re.sub(r"\s]]ren arabera sortzen ditu kristalak.","",text)aldaketarik=Trueifre.search(': \.',text):print('aurkitua: :. arabera')F=formula(page)ifF!=None:print(F)text=re.sub(r": \.",': '+F+'.',text)aldaketarik=Trueifaldaketarik:print(text)page.text=textpage.save(u"Formula edota kristal-sistema wikidatatik hartuta")site=pywikibot.Site('eu','wikipedia')cat=pywikibot.Category(site,'Kategoria:Mineralak Mindat')gen=pagegenerators.CategorizedPageGenerator(cat)forpage1ingen:zuzendu_formula_edota_sitkristal(page1)