# -*- coding: utf-8 -*-

import sys
sys.path.append('/Users/Yuanga/Wiki/core')
import re
import pywikibot
from pywikibot import pagegenerators
from pywikibot.compat import catlib

#El programa comença aquí
site=pywikibot.getSite('ca')
titcat=u"Categoria:Minerals silicats"
cat=catlib.Category(site,titcat)
comptador=0
llistafets=[]
for pag in pagegenerators.PreloadingGenerator(pagegenerators.CategorizedPageGenerator(cat,recurse=True)):
    if pag in llistafets:
        continue
    else:
        llistafets.append(pag)
    comptador=comptador+1
    print comptador,pag
    text=pag.get()
    textnou=text

    if re.search(u" *\| *(name|nom|Name|Nom) *= *",text):
        textnou=re.sub(u" *\| *(name|nom|Name|Nom) *= *",u"| nom = ",textnou, count=1)
        print 'Trobat -> Name'

    if re.search(u" *\| *(image|imatge|Image|Imatge) *= *",text):
        textnou=re.sub(u" *\| *(image|imatge|Image|Imatge) *= *",u"| imatge = ",textnou)
        print 'Trobat -> Image'

    if re.search(u" *\| *(caption|Caption|peu d'imatge|Peu d'imatge) *= *",text):
        textnou=re.sub(u" *\| *(caption|Caption|peu d'imatge|Peu d'imatge) *= *",u"| peu d'imatge = ",textnou)
        print 'Trobat -> Caption'

    if re.search(u" *\| *(formula|fórmula|Formula|Fórmula) *= *",text):
        textnou=re.sub(u" *\| *(formula|fórmula|Formula|Fórmula) *= *",u"| fórmula = ",textnou)
        print 'Trobat -> Formula'

    if re.search(u" *\| *(symmetry|Symmetry|Simetria|simetria) *= *",text):
        textnou=re.sub(u" *\| *(symmetry|Symmetry|Simetria|simetria) *= *",u"| simetria = ",textnou)
        print 'Trobat -> Symmetry'

    if re.search(u" *\| *(unit cell|Unit cell|estructura cristal·lina|Estructura cristal·lina) *= *",text):
        textnou=re.sub(u" *\| *(unit cell|Unit cell|estructura cristal·lina|Estructura cristal·lina) *= *",u"| estructura cristal·lina = ",textnou)
        print 'Trobat -> Unit cell'

    if re.search(u" *\| *(habit|Habit|hàbit|Hàbit) *= *",text):
        textnou=re.sub(u" *\| *(habit|Habit|hàbit|Hàbit) *= *",u"| hàbit = ",textnou)
        print 'Trobat -> Habit'

    if re.search(u" *\| *(system|System|sistema|Sistema|sc|Sc) *= *",text):
        textnou=re.sub(u" *\| *(system|System|sistema|Sistema|sc|Sc) *= *",u"| sistema = ",textnou)
        print 'Trobat -> System'

    if re.search(u" *\| *(twinning|Twinning|macles|Macles) *= *",text):
        textnou=re.sub(u" *\| *(twinning|Twinning|macles|Macles) *= *",u"| macles = ",textnou)
        print 'Trobat -> Twinning'

    if re.search(u" *\| *(cleavage|Cleavage|exfoliació|Exfoliació|exfol|Exfol) *= *",text):
        textnou=re.sub(u" *\| *(cleavage|Cleavage|exfoliació|Exfoliació|exfol|Exfol) *= *",u"| exfoliació = ",textnou)
        print 'Trobat -> Cleavage'

    if re.search(u" *\| *(fracture|Fracture|fractura|Fractura) *= *",text):
        textnou=re.sub(u" *\| *(fracture|Fracture|fractura|Fractura) *= *",u"| fractura = ",textnou)
        print 'Trobat -> Fracture'

    if re.search(u" *\| *(tenacity|Tenacity|tenacitat|Tenacitat) *= *",text):
        textnou=re.sub(u" *\| *(tenacity|Tenacity|tenacitat|Tenacitat) *= *",u"| tenacitat = ",textnou)
        print 'Trobat -> Tenacity'

    if re.search(u" *\| *(luster|Luster|lluissor|Lluissor|lustre|Lustre|lluentor|Lluentor) *= *",text):
        textnou=re.sub(u" *\| *(luster|Luster|lluissor|Lluissor|lluentor|Lluentor) *= *",u"| lluïssor = ",textnou)
        print 'Trobat -> Luster'

    if re.search(u" *\| *(streak|Streak|ratlla|Ratlla) *= *",text):
        textnou=re.sub(u" *\| *(streak|Streak|ratlla|Ratlla) *= *",u"| ratlla = ",textnou)
        print 'Trobat -> Streak'

    if re.search(u" *\| *(diaphaneity|Diaphaneity|diafanitat|Diafanitat|diafan|Diafan) *= *",text):
        textnou=re.sub(u" *\| *(diaphaneity|Diaphaneity|diafanitat|Diafanitat|diafan|Diafan) *= *",u"| diafanitat = ",textnou)
        print 'Trobat -> Diaphaneity'

    if re.search(u" *\| *(gravity|Gravity|gravetat|Gravetat) *= *",text):
        textnou=re.sub(u" *\| *(gravity|Gravity|gravetat|Gravetat) *= *",u"| gravetat = ",textnou)
        print 'Trobat -> Gravity'

    if re.search(u" *\| *(density|Density|densitat|Densitat) *= *",text):
        textnou=re.sub(u" *\| *(density|Density|densitat|Densitat) *= *",u"| densitat = ",textnou)
        print 'Trobat -> Density'

    if re.search(u" *\| *(opticalprop|Opticalprop|prop òptiques|Prop òptiques) *= *",text):
        textnou=re.sub(u" *\| *(opticalprop|Opticalprop|prop òptiques|Prop òptiques) *= *",u"| prop òptiques = ",textnou)
        print 'Trobat -> Opticalprop'

    if re.search(u" *\| *(refractive|Refractive|refracció|Refracció|índex de refracció|Índex de refracció) *= *",text):
        textnou=re.sub(u" *\| *(refractive|Refractive|refracció|Refracció|índex de refracció|Índex de refracció) *= *",u"| refracció = ",textnou)
        print 'Trobat -> Refractive'

    if re.search(u" *\| *(birefringence|Birefringence|birefringència|Birefringència) *= *",text):
        textnou=re.sub(u" *\| *(birefringence|Birefringence|birefringència|Birefringència) *= *",u"| birefringència = ",textnou)
        print 'Trobat -> Birefringence'

    if re.search(u" *\| *(pleochroism|Pleochroism|pleocroisme|Pleocroisme) *= *",text):
        textnou=re.sub(u" *\| *(pleochroism|Pleochroism|pleocroisme|Pleocroisme) *= *",u"| pleocroisme = ",textnou)
        print 'Trobat -> Pleochroism'

    if re.search(u" *\| *(fluorescence|Fluorescence|fluorescència|Fluorescència) *= *",text):
        textnou=re.sub(u" *\| *(fluorescence|Fluorescence|fluorescència|Fluorescència) *= *",u"| fluorescència = ",textnou)
        print 'Trobat -> Fluorescence'

    if re.search(u" *\| *(melt|Melt|fusió|Fusió) *= *",text):
        textnou=re.sub(u" *\| *(melt|Melt|fusió|Fusió) *= *",u"| fusió = ",textnou)
        print 'Trobat -> Melt'

    if re.search(u" *\| *(radioactivity|Radioactivity|radioactivitat|Radioactivitat) *= *",text):
        textnou=re.sub(u" *\| *(radioactivity|Radioactivity|radioactivitat|Radioactivitat) *= *",u"| radioactivitat = ",textnou)
        print 'Trobat -> Radioactivity'

    if re.search(u" *\| *(references|References|referències|Referències) *= *",text):
        textnou=re.sub(u" *\| *(references|References|referències|Referències) *= *",u"| referències = ",textnou)
        print 'Trobat -> References'

    if re.search(u" *\| *(category|Category|categoria|Categoria) *= *",text):
        textnou=re.sub(u" *\| *(category|Category|categoria|Categoria) *= *",u"| categoria = ",textnou)
        print 'Trobat -> Category'

    if re.search(u" *\| *(molweight|Molweight|massa molar|Massa molar) *= *",text):
        textnou=re.sub(u" *\| *(molweight|Molweight|massa molar|Massa molar) *= *",u"| massa molar = ",textnou)
        print 'Trobat -> Molweight'

    if re.search(u" *\| *(polish|Polish|polit|Polit|polish lustre|Polish lustre) *= *",text):
        textnou=re.sub(u" *\| *(polish|Polish|polit|Polit|polish lustre|Polish lustre) *= *",u"| polit = ",textnou)
        print 'Trobat -> Polish'

    if re.search(u" *\| *(extinction|Extinction|extinció|Extinció) *= *",text):
        textnou=re.sub(u" *\| *(extinction|Extinction|extinció|Extinció) *= *",u"| extinció = ",textnou)
        print 'Trobat -> Extinction'

    if re.search(u" *\| *(solubility|Solubility|solubilitat|Solubilitat) *= *",text):
        textnou=re.sub(u" *\| *(solubility|Solubility|solubilitat|Solubilitat) *= *",u"| solubilitat = ",textnou)
        print 'Trobat -> Solubility'

    if re.search(u" *\| *(other|Other|altres|Altres) *= *",text):
        textnou=re.sub(u" *\| *(other|Other|altres|Altres) *= *",u"| altres = ",textnou)
        print 'Trobat -> Other'

    if re.search(u" *\| *(boxwidth|Boxwidth|ampladacaixa|Ampladacaixa) *= *",text):
        textnou=re.sub(u" *\| *(boxwidth|Boxwidth|ampladacaixa|Ampladacaixa) *= *",u"| ampladacaixa = ",textnou)
        print 'Trobat -> Boxwidth'

    if re.search(u" *\| *(imagesize|Imagesize|midaimatge|Midaimatge) *= *",text):
        textnou=re.sub(u" *\| *(imagesize|Imagesize|midaimatge|Midaimatge) *= *",u"| midaimatge = ",textnou)
        print 'Trobat -> Imagesize'

    if re.search(u" *\| *(alt|Alt) *= *",text):
        textnou=re.sub(u" *\| *(alt|Alt) *= *",u"| alt = ",textnou)
        print 'Trobat -> Alt'

    if re.search(u" *\| *(strunz|Strunz) *= *",text):
        textnou=re.sub(u" *\| *(strunz|Strunz) *= *",u"| strunz = ",textnou)
        print 'Trobat -> Strunz'

    if re.search(u" *\| *(dana|Dana) *= *",text):
        textnou=re.sub(u" *\| *(dana|Dana) *= *",u"| dana = ",textnou)
        print 'Trobat -> Dana'

    if re.search(u" *\| *(heys|Heys) *= *",text):
        textnou=re.sub(u" *\| *(heys|Heys) *= *",u"| heys = ",textnou)
        print 'Trobat -> Heys'

    if re.search(u" *\| *(estat IMA|Estat IMA) *= *",text):
        textnou=re.sub(u" *\| *(estat IMA|Estat IMA) *= *",u"| estat IMA = ",textnou)
        print 'Trobat -> Estat IMA'

    if re.search(u" *\| *(color|Color|colour|Colour) *= *",text):
        textnou=re.sub(u" *\| *(color|Color|colour|Colour) *= *",u"| color = ",textnou)
        print 'Trobat -> Colour'

    if re.search(u" *\| *(mohs|Mohs|duresa|Duresa) *= *",text):
        textnou=re.sub(u" *\| *(mohs|Mohs|duresa|Duresa) *= *",u"| duresa = ",textnou)
        print 'Trobat -> Mohs'

    if re.search(u" *\| *(2V|2v) *= *",text):
        textnou=re.sub(u" *\| *(2V|2v) *= *",u"| 2V = ",textnou)
        print 'Trobat -> 2V'

    if re.search(u" *\| *(length fast/slow|Length fast/slow|longitud ràpida/lenta|Longitud ràpida/lenta) *= *",text):
        textnou=re.sub(u" *\| *(length fast/slow|Length fast/slow|longitud ràpida/lenta|Longitud ràpida/lenta) *= *",u"| longitud ràpida/lenta = ",textnou)
        print 'Trobat -> Length fast/slow'

    if re.search(u" *\| *(anisotropic|Anisotropic|anisotropia|Anisotropia) *= *",text):
        textnou=re.sub(u" *\| *(anisotropic|Anisotropic|anisotropia|Anisotropia) *= *",u"| anisotropia = ",textnou)
        print 'Trobat -> Anisotropic'

    if re.search(u" *\| *(absorption|Absorption|absorció|Absorció) *= *",text):
        textnou=re.sub(u" *\| *(absorption|Absorption|absorció|Absorció) *= *",u"| absorció = ",textnou)
        print 'Trobat -> Absorption'

    if re.search(u" *\| *(fusibility|Fusibility|fusibilitat|Fusibilitat) *= *",text):
        textnou=re.sub(u" *\| *(fusibility|Fusibility|fusibilitat|Fusibilitat) *= *",u"| fusibilitat = ",textnou)
        print 'Trobat -> Fusibility'

    if re.search(u" *\| *(diagnostic|Diagnostic|diagnòstic|Diagnòstic) *= *",text):
        textnou=re.sub(u" *\| *(diagnostic|Diagnostic|diagnòstic|Diagnòstic) *= *",u"| diagnòstic = ",textnou)
        print 'Trobat -> Diagnostic'

    if re.search(u" *\| *(dispersion|Dispersion|dispersió|Dispersió) *= *",text):
        textnou=re.sub(u" *\| *(dispersion|Dispersion|dispersió|Dispersió) *= *",u"| dispersió = ",textnou)
        print 'Trobat -> Dispersion'

    if re.search(u" *\| *(magnetism|Magnetism|magnetisme|Magnetisme) *= *",text):
        textnou=re.sub(u" *\| *(magnetism|Magnetism|magnetisme|Magnetisme) *= *",u"| magnetisme = ",textnou)
        print 'Trobat -> Magnetism'

    if re.search(u" *\| *(alteration|Alteration|alteració|Alteració) *= *",text):
        textnou=re.sub(u" *\| *(alteration|Alteration|alteració|Alteració) *= *",u"| alteració = ",textnou)
        print 'Trobat -> Alteration'

    if re.search(u" *\| *(impurities|Impurities|impureses|Impureses|agregat|Agregat) *= *",text):
        textnou=re.sub(u" *\| *(impurities|Impurities|impureses|Impureses|agregat|Agregat) *= *",u"| impureses = ",textnou)
        print 'Trobat -> Impurities'

    if re.search(u" *\| *(prop1|Prop1) *= *",text):
        textnou=re.sub(u" *\| *(prop1|Prop1) *= *",u"| prop1 = ",textnou)
        print 'Trobat -> Prop1'

    if re.search(u" *\| *(prop2|Prop2) *= *",text):
        textnou=re.sub(u" *\| *(prop2|Prop2) *= *",u"| prop2 = ",textnou)
        print 'Trobat -> Prop2'

    if re.search(u" *\| *(prop1text|Prop1text) *= *",text):
        textnou=re.sub(u" *\| *(prop1text|Prop1text) *= *",u"| prop1text = ",textnou)
        print 'Trobat -> Prop1text'

    if re.search(u" *\| *(prop2text|Prop2text) *= *",text):
        textnou=re.sub(u" *\| *(prop2text|Prop2text) *= *",u"| prop2text = ",textnou)
        print 'Trobat -> Prop2text'

    if re.search(u" *\| *(var1|Var1) *= *",text):
        textnou=re.sub(u" *\| *(var1|Var1) *= *",u"| var1 = ",textnou)
        print 'Trobat -> Var1'

    if re.search(u" *\| *(var2|Var2) *= *",text):
        textnou=re.sub(u" *\| *(var2|Var2) *= *",u"| var2 = ",textnou)
        print 'Trobat -> Var2'

    if re.search(u" *\| *(var3|Var3) *= *",text):
        textnou=re.sub(u" *\| *(var3|Var3) *= *",u"| var3 = ",textnou)
        print 'Trobat -> Var3'

    if re.search(u" *\| *(var4|Var4) *= *",text):
        textnou=re.sub(u" *\| *(var4|Var4) *= *",u"| var4 = ",textnou)
        print 'Trobat -> Var4'

    if re.search(u" *\| *(var5|Var5) *= *",text):
        textnou=re.sub(u" *\| *(var5|Var5) *= *",u"| var5 = ",textnou)
        print 'Trobat -> Var5'

    if re.search(u" *\| *(var6|Var6) *= *",text):
        textnou=re.sub(u" *\| *(var6|Var6) *= *",u"| var6 = ",textnou)
        print 'Trobat -> Var6'

    if re.search(u" *\| *(var1text|Var1text) *= *",text):
        textnou=re.sub(u" *\| *(var1text|Var1text) *= *",u"| var1text = ",textnou)
        print 'Trobat -> Var1text'

    if re.search(u" *\| *(var2text|Var2text) *= *",text):
        textnou=re.sub(u" *\| *(var2text|Var2text) *= *",u"| var2text = ",textnou)
        print 'Trobat -> Var2text'

    if re.search(u" *\| *(var3text|Var3text) *= *",text):
        textnou=re.sub(u" *\| *(var3text|Var3text) *= *",u"| var3text = ",textnou)
        print 'Trobat -> Var3text'

    if re.search(u" *\| *(var4text|Var4text) *= *",text):
        textnou=re.sub(u" *\| *(var4text|Var4text) *= *",u"| var4text = ",textnou)
        print 'Trobat -> Var4text'

    if re.search(u" *\| *(var5text|Var5text) *= *",text):
        textnou=re.sub(u" *\| *(var5text|Var5text) *= *",u"| var5text = ",textnou)
        print 'Trobat -> Var5text'

    if re.search(u" *\| *(var6text|Var6text) *= *",text):
        textnou=re.sub(u" *\| *(var6text|Var6text) *= *",u"| var6text = ",textnou)
        print 'Trobat -> Var6text'

    if re.search(u" *\| *localitat *= *",text):
        textnou=re.sub(u" *\| *localitat *= *",u"| localitat = ",textnou)
        print 'Trobat -> Localitat'

    if re.search(u" *\| *IMA *= *",text):
        textnou=re.sub(u" *\| *IMA *= *",u"| IMA = ",textnou)
        print 'Trobat -> IMA'

    if re.search(u" *\| *any *= *",text):
        textnou=re.sub(u" *\| *any *= *",u"| any = ",textnou, count=1)
        print 'Trobat -> Any'
        
    if text<>textnou:
        pag.put(textnou,u"Traducció i estructura de la infotaula de minerals")

pywikibot.stopme()