Jump to content

User:MGA73/GFDL files py

From Meta, a Wikimedia project coordination wiki
import requests
from bs4 import BeautifulSoup
import re

# Dictionary of Wikipedias and their corresponding GFDL category names
wikis = {
   ##GFDL
   #Wikipedias
    'https://af.wikipedia.org': ['Kategorie:GFDL-beelde'],
    'https://als.wikipedia.org': ['Kategorie:GFDL-Bild'],
    'https://an.wikipedia.org': ['Categoría:Imáchens GFDL'],
    'https://ar.wikipedia.org': ['تصنيف:صور رخصة جنو', 'تصنيف:صور جنو منشأة بواسطة المستخدم', 'تصنيف:ملفات رخصة جنو للوثائق الحرة مع إخلاء المسؤولية', 'تصنيف:رخصة جنو للوثائق الحرة', 'قالب:رخصة جنو للوثائق الحرة - ثوابت', 'تصنيف:Presumed GFDL images'],
    'https://arz.wikipedia.org': ['تصنيف:GFDL images'],
    'https://as.wikipedia.org': ['শ্ৰেণী:জিএফডিএল চিত্ৰ', 'শ্ৰেণী:জিএফডিএল চিত্ৰ দায়লুপ্তি'],
    'https://az.wikipedia.org': ['Kateqoriya:Fayl:GFDL'],
    'https://bar.wikipedia.org': ['Kategorie:Datei:GFDL'],
    'https://bat-smg.wikipedia.org': ['Kateguorėjė:GFDL abruozdielē'],
    'https://ba.wikipedia.org': ['Категория:Файлдар:GFDL'],
    'https://be-x-old.wikipedia.org': ['Катэгорыя:Вікіпэдыя:Файлы:GFDL'],
    'https://be.wikipedia.org': ['Катэгорыя:Файлы:GFDL'],
    'https://bh.wikipedia.org': ['श्रेणी:GFDL files with disclaimers'],
    'https://bn.wikipedia.org': ['বিষয়শ্রেণী:জিএফডিএল চিত্র'],
    'https://bo.wikipedia.org': ['Category:GFDL images', 'Category:GFDL-self pictures'],
    'https://br.wikipedia.org': ['Rummad:GFDL images'],
    'https://bs.wikipedia.org': ['Kategorija:GFDL slike'],
    'https://ceb.wikipedia.org': ['Kategoriya:GFDL images'],
    'https://ckb.wikipedia.org': ['پۆل:وێنەی گنو'],
    'https://cy.wikipedia.org': ['Categori:Delweddau GFDL', 'Categori:Delweddau GFDL-with-disclaimers'],
    'https://da.wikipedia.org': ['Kategori:GFDL-filer', 'Kategori:GFDL-filer-self'],
    'https://de.wikipedia.org': ['Kategorie:Datei:GFDL'],
    'https://el.wikipedia.org': ['Κατηγορία:Αρχεία GFDL'],
    'https://en.wikipedia.org': ['Category:GFDL files', 'Category:User-created GFDL files', 'Category:GFDL files with disclaimers'],
    'https://eo.wikipedia.org': ['Kategorio:Dosieroj sub GFDL'],
    'https://et.wikipedia.org': ['Kategooria:GFDL pildid'],
    'https://fa.wikipedia.org': ['رده:پرونده‌های تحت گنو'],
    'https://fi.wikipedia.org': ['Luokka:GFDL-kuvat'],
    'https://fo.wikipedia.org': ['Bólkur:GFDL'],
    'https://frr.wikipedia.org': ['Kategorie:GFDL-Bild'],
    'https://fur.wikipedia.org': ['Categorie:Figuris GFDL'],
    'https://fy.wikipedia.org': ['Kategory:GFDL Ofbyld'],
    'https://ga.wikipedia.org': ['Catagóir:Íomhánna GFDL'],
    'https://gl.wikipedia.org': ['Categoría:Imaxes GFDL'],
    'https://gu.wikipedia.org': ['શ્રેણી:GFDL files'],
    'https://gv.wikipedia.org': ['Ronney:Jallooyn GFDL'],
    'https://he.wikipedia.org': ['קטגוריה:ויקיפדיה - תמונות GFDL'],
    'https://hi.wikipedia.org': ['श्रेणी:GFDL images', 'श्रेणी:GFDL images with disclaimers'],
    'https://hr.wikipedia.org': ['Kategorija:GFDL slike', 'Kategorija:Slike GFDL-ja'],
    'https://hsb.wikipedia.org': ['Kategorija:GFDL-wobraz'],
    'https://hu.wikipedia.org': ['Kategória:GFDL-képek', 'Kategória:GFDL licencű saját képek', 'Kategória:GFDL-képek garanciakizárással', 'Kategória:GFDL licencű saját képek garanciakizárással'],
    'https://hy.wikipedia.org': ['Կատեգորիա:GFDL պատկերներ', 'Կատեգորիա:Մասնակիցների ստեղծած GFDL պատկերներ'],
    'https://id.wikipedia.org': ['Kategori:Berkas GFDL', 'Kategori:Gambar berlisensi bebas (GFDL) (Karya sendiri)', 'Kategori:Berkas GFDL dengan penyangkalan', 'Kategori:GFDL'],
    'https://ilo.wikipedia.org': ['Kategoria:Dagiti papeles ti GFDL'],
    'https://is.wikipedia.org': ['Flokkur:GFDL myndir', 'Flokkur:GFDL myndir-with-disclaimers'],
    'https://it.wikipedia.org': ['Categoria:Immagini GFDL', 'Categoria:Immagini GFDL-Utente', 'Categoria:Immagini GFDL con disclaimer', 'Categoria:Immagini GFDL-Utente con disclaimer', 'Categoria:GNU Free Documentation License'],
    'https://ja.wikipedia.org': ['Category:GFDL画像', 'Category:GFDL画像 (免責事項あり)', 'Category:GNU Free Documentation License'],
    'https://jv.wikipedia.org': ['Kategori:Gambar kanthi lisensi mardika (GFDL)'],
    'https://ka.wikipedia.org': ['კატეგორია:GFDL სურათები', 'კატეგორია:GFDL სურათები პასუხისმგელობის უარყოფით'],
    'https://kk.wikipedia.org': ['Санат:GFDL суреттері'],
    'https://km.wikipedia.org': ['ចំណាត់ថ្នាក់ក្រុម:GFDL images'],
    'https://kn.wikipedia.org': ['ವರ್ಗ:GFDL files'],
    'https://ko.wikipedia.org': ['분류:GFDL 파일'],
    'https://ku.wikipedia.org': ['Kategorî:Wêneyê GFDL'],
    'https://kw.wikipedia.org': ['Klass:Imajys GFDL'],
    'https://lb.wikipedia.org': ['Kategorie:GFDL-Bild'],
    'https://li.wikipedia.org': ['Categorie:GFDL Plaetje'],
    'https://lij.wikipedia.org': ['Categorîa:File GFDL con disclaimer', 'Categorîa:File GFDL'],
    'https://lmo.wikipedia.org': ['Categoria:Imàgin GFDL'],
    'https://lt.wikipedia.org': ['Kategorija:GFDL paveikslėliai', 'Kategorija:GFDL-self paveikslėliai'],
    'https://lv.wikipedia.org': ['Kategorija:Pēc GNU FDL licencēti attēli'],
    'https://mad.wikipedia.org': ['Bhângsa:GFDL'],
    'https://map-bms.wikipedia.org': ['Kategori:Gambar berlisensi bebas (GFDL) (Saya)'],
    'https://mk.wikipedia.org': ['Категорија:ГЛСД-слики', 'Категорија:ГЛСД'],
    'https://ml.wikipedia.org': ['വർഗ്ഗം:ജി.എഫ്.ഡി.എൽ ചിത്രങ്ങൾ', 'വർഗ്ഗം:User-created GFDL images'],
    'https://mn.wikipedia.org': ['Ангилал:GFDL зургууд'],
    'https://ms.wikipedia.org': ['Kategori:Fail GFDL', 'Kategori:Imej GFDL (self)'],
    'https://mt.wikipedia.org': ['Kategorija:Stampi GFDL'],
    'https://my.wikipedia.org': ['ကဏ္ဍ:GFDL ဖိုင်များ'],
    'https://nap.wikipedia.org': ['Categurìa:Ffiure GFDL'],
    'https://nds-nl.wikipedia.org': ['Kategorie:Ofbeelding met GNU/GFDL Licentie'],
    'https://ne.wikipedia.org': ['श्रेणी:GFDL चित्रहरु'],
    'https://nn.wikipedia.org': ['Kategori:GFDL'],
    'https://nn.wikipedia.org': ['Kategori:GFDL'],
    'https://oc.wikipedia.org': ['Categoria:Imatge GFDL'],
    'https://or.wikipedia.org': ['ଶ୍ରେଣୀ:GFDL files'],
    'https://pa.wikipedia.org': ['ਸ਼੍ਰੇਣੀ:GFDL files'],
    'https://pcd.wikipedia.org': ['Catégorie:Image GFDL'],
    'https://pl.wikipedia.org': ['Kategoria:Pliki na licencji GFDL'],
    'https://pms.wikipedia.org': ['Categorìa:Archivi sot a licensa GFDL-Utent'],
    'https://qu.wikipedia.org': ['Katiguriya:GFDL Rikcha'],
    'https://ro.wikipedia.org': ['Categorie:Imagini GFDL'],
    'https://ru.wikipedia.org': ['Категория:Файлы:GFDL'],
    'https://sah.wikipedia.org': ['Категория:Билэлэр:GFDL'],
    'https://sa.wikipedia.org': ['वर्गः:GFDL images'],
    'https://sd.wikipedia.org': ['زمرو:گنو فائل'],
    'https://shn.wikipedia.org': ['ပိူင်ထၢၼ်ႈ:ၾၢႆႇ GFDL'],
    'https://sh.wikipedia.org': ['Kategorija:GFDL slike'],
    'https://simple.wikipedia.org': ['Category:GFDL files'],
    'https://si.wikipedia.org': ['ප්‍රවර්ගය:GFDL ගොනු', 'ප්‍රවර්ගය:GFDL files with disclaimers'],
    'https://sl.wikipedia.org': ['Kategorija:Datoteke GFDL', 'Kategorija:GFDL'],
    'https://sq.wikipedia.org': ['Kategoria:GFDL files'],
    'https://sr.wikipedia.org': ['Категорија:ГФДЛ слике', 'Категорија:ГЛСД слике са одрицањем'],
    'https://sw.wikipedia.org': ['Jamii:Picha za GFDL', 'Jamii:Picha za GFDL zenye makanusho'],
    'https://ta.wikipedia.org': ['பகுப்பு:குனூ கட்டற்ற ஆவண உரிமப் படிமங்கள்'],
    'https://tet.wikipedia.org': ['Kategoria:Imajen GFDL'],
    'https://te.wikipedia.org': ['వర్గం:GFDL files', 'వర్గం:User-created GFDL files', 'వర్గం:GFDL files with disclaimers'],
    'https://tg.wikipedia.org': ['Гурӯҳ:Парвандаҳо:GFDL'],
    'https://th.wikipedia.org': ['หมวดหมู่:ภาพ GFDL'],
    'https://tl.wikipedia.org': ['Kategorya:Mga larawan sa ilalim ng GFDL', 'Kategorya:User-created GFDL images', 'Kategorya:GFDL'],
    'https://tr.wikipedia.org': ['Kategori:GÖBL dosyaları'],
    'https://tt.wikipedia.org': ['Төркем:GFDL files'],
    'https://uk.wikipedia.org': ['Категорія:Зображення GFDL', 'Категорія:Зображення GFDL, завантажені до Вікіпедії їх авторами'],
    'https://ur.wikipedia.org': ['زمرہ:تصاویر گنو'],
    'https://vec.wikipedia.org': ['Categoria:Files GFDL'],
    'https://vi.wikipedia.org': ['Thể loại:Hình dưới GFDL', 'Thể loại:Hình GFDL do người dùng tạo ra', 'Thể loại:Hình dưới GFDL với phủ nhận', 'Thể loại:Hình đoán là GFDL'],
    'https://war.wikipedia.org': ['Kaarangay:Mga imahe ha ilarom han GFDL'],
    'https://wa.wikipedia.org': ['Categoreye:Imådjes GFDL'],
    'https://yi.wikipedia.org': ['קאַטעגאָריע:GFDL images', 'קאַטעגאָריע:GFDL'],
    'https://zh-min-nan.wikipedia.org': ['Lūi-pia̍t:GFDL iáⁿ-siōng'],
    'https://zh-yue.wikipedia.org': ['Category:GFDL圖像'],
    'https://zh.wikipedia.org': ['Category:GFDL檔案'],
    #Wikibooks
    'https://bg.wikibooks.org': ['Категория:Картинки с лиценз GFDL'],
    'https://de.wikibooks.org': ['Kategorie:GFDL-Bild'],
    'https://en.wikibooks.org': ['Category:Presumed GFDL images'],
    'https://fi.wikibooks.org': ['Luokka:GFDL-kuvat'],
    'https://hr.wikibooks.org': ['Kategorija:GFDL slike'],
    'https://hu.wikibooks.org': ['Kategória:GFDL'],
    'https://id.wikibooks.org': ['Kategori:Gambar berlisensi bebas (GFDL)'],
    'https://it.wikibooks.org': ['Categoria:Immagini GFDL'],
    'https://ja.wikibooks.org': ['カテゴリ:GFDL画像'],
    'https://lt.wikibooks.org': ['Kategorija:GFDL paveikslėliai'],
    'https://nl.wikibooks.org': ['Categorie:GFDL afbeeldingen'],
    'https://pl.wikibooks.org': ['Kategoria:Grafika GFDL'],
    'https://sv.wikibooks.org': ['Kategori:Bilder med GFDL-licens'],
    'https://zh.wikibooks.org': ['Category:GFDL圖像'],
    # Wikinews
    'https://ar.wikinews.org': ['تصنيف:صور رخصة جنو', 'قالب:رخصة جنو للوثائق الحرة - ثوابت'],
    'https://en.wikinews.org': ['Category:GFDL'],
    'https://it.wikinews.org': ['Categoria:Immagini GFDL-Utente'],
    #Wikiquote
    'https://hu.wikiquote.org': ['Kategória:GFDL képek'],
    'https://ja.wikiquote.org': ['カテゴリ:GFDL画像'],
    'https://ko.wikiquote.org': ['분류:GFDL 그림'],
    'https://pt.wikiquote.org': ['Categoria:Imagens GFDL'],
    'https://ro.wikiquote.org': ['Categorie:Imagini GFDL'],
    #Wikisource
    'https://bg.wikisource.org': ['Категория:Картинки с лиценз GFDL'],
    'https://es.wikisource.org': ['Categoría:Wikisource:GFDL'],
    'https://he.wikisource.org': ['קטגוריה:ויקיטקסט - תמונות GFDL'],
    'https://hu.wikisource.org': ['Kategória:GFDL'],
    'https://it.wikisource.org': ['Categoria:Immagini GFDL'],
    'https://ru.wikisource.org': ['Категория:Файлы:GFDL'],
    'https://sl.wikisource.org': ['Kategorija:Slike z dovoljenjem GFDL'],
    #Wikiversity
    'https://ar.wikiversity.org': ['تصنيف:صور رخصة جنو', 'قالب:رخصة جنو للوثائق الحرة - ثوابت', 'تصنيف:صور جنو'],
    'https://de.wikiversity.org': ['Kategorie:GFDL-Bild'],
    'https://el.wikiversity.org': ['Κατηγορία:Αρχεία GFDL'],
    'https://en.wikiversity.org': ['Category:GFDL files', 'Category:Presumed GFDL images'],
    'https://it.wikiversity.org': ['Categoria:Immagini GFDL'],
    'https://ru.wikiversity.org': ['Категория:Файлы:GFDL'],
    #Wikivoyage
    'https://en.wikivoyage.org': ['Category:GFDL files', 'Category:GFDL-self-en files'],
    #Wiktionary
    'https://bg.wiktionary.org': ['Категория:Картинки с лиценз GFDL'],
    'https://eo.wiktionary.org': ['Kategorio:Bildo sub GFDL'],
    'https://ga.wiktionary.org': ['Catagóir:Íomhánna GFDL'],
    'https://ko.wiktionary.org': ['분류:GFDL-그림'],
    'https://la.wiktionary.org': ['Categoria:Imagines sub GFDL'],
    'https://ro.wiktionary.org': ['Categorie:Imagini GFDL'],
    'https://te.wiktionary.org': ['వర్గం:GFDL బొమ్మలు'],
    'https://vi.wiktionary.org': ['Thể loại:Hình được phát hành theo GFDL'],
    #Multilingual sites
    'https://commons.wikimedia.org': ['Category:GFDL', 'Category:User-created GFDL images', 'Category:GFDL-disclaimers'],
    'https://foundation.wikimedia.org': ['Category:GFDL images'],
    'https://meta.wikimedia.org': ['Category:Presumed GFDL images'],
}

for wiki, categories in wikis.items():
    for category in categories:
        # Construct the URL of the GFDL category page
        url = f'{wiki}/wiki/{category}'

        try:
            # Send a GET request to the page
            response = requests.get(url)
        except requests.exceptions.ConnectionError:
            print(f'Could not connect to {wiki}.')
            continue

        # Parse the page content with BeautifulSoup
        soup = BeautifulSoup(response.content, 'html.parser')

        # Find the element that contains the number of files in the category
        file_count_element = soup.find('div', id='mw-category-media')

        # Check if file_count_element is None
        if file_count_element is None:
            print(f'{wiki} category {category} has 0 GFDL files.')
            continue

        # Remove commas and periods from the text
        text = file_count_element.p.text.replace(',', '').replace('.', '')

        # Check if the text contains the category name
        if category in text:
            file_count = 1
        else:
            # Extract all numbers from the text
            numbers = re.findall(r'\d+', text)

            # Convert the numbers to integers
            numbers = [int(number) for number in numbers]

            # Check if any numbers were found
            if not numbers:
                print(f'{wiki} category {category} has 0 GFDL files.')
                continue

            # Find and print the largest number
            file_count = max(numbers)

        print(f'{wiki} category {category} has {file_count} GFDL files.')