Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """
- Created on Mon Dec 17 18:58:19 2018
- @author: cedtr
- """
- ADJ = 'adjectif'
- NOM = 'nom'
- import pywikibot
- site = pywikibot.Site()
- special_chars = set('ĉĝĥĵŝŭ')
- def get_page_j(page_name, prononciation, cat_type):
- cle = ""
- if set(page_name) & special_chars != set():
- x_page_name = page_name.replace('ĉ', 'cx').replace('ĝ', 'gx').replace('ĥ', 'hx').replace('ĵ', 'jx').replace('ŝ', 'sx').replace('ŭ', 'ux')
- cle = f"\n\n{{{{clé de tri|{x_page_name}j}}}}"
- return f"""== {{{{langue|eo}}}} ==
- === {{{{S|{cat_type}|eo|flexion}}}} ===
- {{{{eo-rég|{prononciation}}}}}
- '''{page_name}j''' {{{{pron|{prononciation}j|eo}}}}
- # ''Nominatif pluriel de ''[[{page_name}#eo|{page_name}]].""" + cle
- def get_page_jn(page_name, prononciation, cat_type):
- cle = ""
- if set(page_name) & special_chars != set():
- x_page_name = page_name.replace('ĉ', 'cx').replace('ĝ', 'gx').replace('ĥ', 'hx').replace('ĵ', 'jx').replace('ŝ', 'sx').replace('ŭ', 'ux')
- cle = f"\n\n{{{{clé de tri|{x_page_name}jn}}}}"
- return f"""== {{{{langue|eo}}}} ==
- === {{{{S|{cat_type}|eo|flexion}}}} ===
- {{{{eo-rég|{prononciation}}}}}
- '''{page_name}jn''' {{{{pron|{prononciation}jn|eo}}}}
- # ''Accusatif pluriel de ''[[{page_name}#eo|{page_name}]].""" + cle
- def get_page_n(page_name, prononciation, cat_type):
- cle = ""
- if set(page_name) & special_chars != set():
- x_page_name = page_name.replace('ĉ', 'cx').replace('ĝ', 'gx').replace('ĥ', 'hx').replace('ĵ', 'jx').replace('ŝ', 'sx').replace('ŭ', 'ux')
- cle = f"\n\n{{{{clé de tri|{x_page_name}n}}}}"
- return f"""== {{{{langue|eo}}}} ==
- === {{{{S|{cat_type}|eo|flexion}}}} ===
- {{{{eo-rég|{prononciation}}}}}
- '''{page_name}n''' {{{{pron|{prononciation}n|eo}}}}
- # ''Accusatif singulier de ''[[{page_name}#eo|{page_name}]].""" + cle
- def get_page(flexion):
- if flexion == "j":
- return get_page_j
- if flexion == "jn":
- return get_page_jn
- if flexion == "n":
- return get_page_n
- def create_flexion(page_name, flexion, prononciation, cat_type, force):
- page = pywikibot.Page(site, f"{page_name}{flexion}")
- if force or page.text == "":
- page.text = get_page(flexion)(page_name, prononciation, cat_type)
- page.save("Création automatique de la flexion.", watch="unwatch")
- else:
- print(f"{page_name}{flexion} already exists.")
- def is_missing_flexions(page_name):
- page = pywikibot.Page(site, page_name)
- templates = page.raw_extracted_templates
- eo_reg = [t[0] for t in templates if t[0] in ["eo-rég", "eo-rég-v"]]
- if len(eo_reg) == 0:
- return False
- page_j = pywikibot.Page(site, f"{page_name}j").text == ""
- page_jn = pywikibot.Page(site, f"{page_name}jn").text == ""
- page_n = pywikibot.Page(site, f"{page_name}n").text == ""
- return eo_reg[0] == "eo-rég" and (page_j or page_jn or page_n)
- def create_flexions(page_name, prononciation, cat_type, force):
- create_flexion(page_name, "j", prononciation, cat_type, force)
- create_flexion(page_name, "jn", prononciation, cat_type, force)
- create_flexion(page_name, "n", prononciation, cat_type, force)
- WORDS = [('acetimetro', 'a.t͡se.ti.ˈme.tro', NOM, False),
- ]
- for word, prononciation, cat_type, force in WORDS:
- create_flexions(word, prononciation, cat_type, force)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement