Bikarhêner:Şêr/kunounforms.py

import requests
from bs4 import BeautifulSoup
import pywikibot
import cchardet

file_path = 'peyv.txt'

site = pywikibot.Site('ku', 'wiktionary')
site.login()

with open(file_path, 'rb') as file:  
    content = file.read()
    encoding = cchardet.detect(content)['encoding']

    content = content.decode(encoding)
    for line in content.splitlines():  

        word_to_search = line.strip()

        url = f"https://ku.wiktionary.org/wiki/{word_to_search}"

        response = requests.get(url)
        if response.status_code == 200:
            html_content = response.content
            soup = BeautifulSoup(html_content, 'html.parser')

            word_element = soup.find('span', {'class': 'Latn form-of lang-ku def|constr|p-form-of gender-m'}).find('a', title=True)

            if word_element:
                word = word_element.get_text(strip=True)

                page = pywikibot.Page(site, word)
                if not page.exists():
                    page.text = f"== {{{{ziman|ku}}}} ==\n\n=== Formeke navdêrê ===\n{{{{ku-tew-nav|{word_to_search}|mê|îzafe|binavkirî}}}}\n{{{{navdêr|ku|form=erê}}}}\n# {{{{formeke peyvê|ku|{word_to_search}||îzafe|ya|binavkirî|ya|pirjimar|ya|mê}}}}"
                    page.save(f"Rûpel {word} hat afirandin")
                    print(f"Die Seite für {word} wurde erstellt.")
                else:
                    page.text = f"== {{{{ziman|ku}}}} ==\n\n=== Formeke navdêrê ===\n{{{{ku-tew-nav|{word_to_search}|mê|îzafe|binavkirî}}}}\n{{{{navdêr|ku|form=erê}}}}\n# {{{{formeke peyvê|ku|{word_to_search}||îzafe|ya|binavkirî|ya|pirjimar|ya|mê}}}}"
                    page.save(f"Naveroka peyva {word} hat rojanekirin.")
                    print(f"Die Seite für {word} existiert bereits und wurde aktualisiert.")
            else:
                print(f"Das Wort {word_to_search} wurde nicht auf der Seite gefunden.")
        else:
            print(f"Fehler beim Abrufen der Seite für {word_to_search}. Statuscode:", response.status_code)