Lankide:EUmineralbot/kodea2
Itxura
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Mon May 13 23:48:29 2019
@author: jipsagak
"""
import pywikibot
from pywikibot import pagegenerators
import re
#Mineral_Mindat kategoriako mineralen artikuluak hobetu formula eta sistema kristalinoa wikidatatik hartzen saiatuta
def formula (page1):
item = pywikibot.ItemPage.fromPage(page1) # this can be used for any page object, wikidatako elementua
item.get() # you need to call it to access any data.
sitelinks = item.sitelinks
if item.claims:
if 'P274' in item.claims: # formula kimikoa (P274)
formula1 =item.claims['P274'][0].getTarget()
return (formula1)
def sist_kristalino (page1):
item = pywikibot.ItemPage.fromPage(page1) # this can be used for any page object, wikidatako elementua
item.get() # you need to call it to access any data.
sitelinks = item.sitelinks
if item.claims:
if 'P556' in item.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.sitelinks
if 'eu' in kristal_esp.labels:
return ('[['+kristal_esp.labels['eu']+'|S'+kristal_esp.labels['eu'][9:]+'a]]')
def zuzendu_formula_edota_sitkristal (page):
aldaketarik = False
# site = pywikibot.Site('eu')
# page = pywikibot.Page(site, u"Armalkolita")
text = page.text
print (text)
if re.search('\s]]ren arabera sortzen ditu kristalak.',text):
print ('aurkitua: ]]ren arabera sortzen ditu kristalak. ')
SK = sist_kristalino (page)
if SK != None:
print (SK)
text = re.sub(
r"\s]]ren arabera sortzen ditu kristalak.",
' '+SK+'ren arabera sortzen ditu kristalak.',
text
)
aldaketarik = True
else:
text = re.sub(
r"\s]]ren arabera sortzen ditu kristalak.",
"",
text
)
aldaketarik = True
if re.search(': \.',text):
print ('aurkitua: :. arabera')
F = formula(page)
if F != None:
print (F)
text = re.sub(
r": \.",
': '+F+'.',
text
)
aldaketarik = True
if aldaketarik:
print (text)
page.text = text
page.save(u"Formula edota kristal-sistema wikidatatik hartuta")
site = pywikibot.Site ('eu', 'wikipedia')
cat = pywikibot.Category(site,'Kategoria:Mineralak Mindat')
gen = pagegenerators.CategorizedPageGenerator(cat)
for page1 in gen:
zuzendu_formula_edota_sitkristal (page1)