import pywikibot as pw
import json
site = pw.Site('fr', 'wikipedia')
#member = pw.Category(site, 'Catégorie:Portail:Bénin/Articles_liés').members(namespaces = [0])

#Create JSON Structure
departement = "Mono_(département)|Mono"
counter = 0

data = {
    "Athiémè":{
        "nombre_arrondissement": "cinq",
        "Adohoun":{
            "population":"19356",
            "nombre_village":"11",
            "latitude":"",
            "longitude":"",
            "liste_village":"Adame, Kpodji, Tchicomey, Agbogbome, Aguidahoue, Ayoucome, Kodji, Devedodji, Gleta, Sevotinou et Toguido"
        },
        "Atchannou":{
            "population":"8582",
            "nombre_village":"10",
            "latitude":"",
            "longitude":"",
            "liste_village":"Akonana, Allounkoui, Atchannou, Avegodoe, Goudon, Hokpame, Houegle, Hounkpon, Konouhoue et Tadokome"
        },
        "Dédékpoé":{
            "population":"4579",
            "latitude":"",
            "longitude":"",
            "nombre_village":"5",
            "liste_village":"Abloganme, Ahoho, Deveme, Madebui et Zedonou"
        },
        "Kpinnou":{
            "population":"8771",
            "latitude":"",
            "longitude":"",
            "nombre_village":"8",
            "liste_village":"Avedji, Azonlihoue, Bocohoue, Condji Agnanme, Don Agbodougbe, Don Condji, Hahame et Kpinnou"
        }
    },
    "Bopa":{
        "nombre_arrondissement": "sept",
        "Agbodji":{
            "population":"10184",
            "nombre_village":"7",
            "latitude":"6.645250",
            "longitude":"1.980855",
            "liste_village":"Agbodji, Djidjozoun, Houegbo, Hounviatouin, Logloe, Medetogbo et Zizague"
        },
        "Badazoui":{
            "population":"16163",
            "nombre_village":"9",
            "latitude":"",
            "longitude":"",
            "liste_village":"Aplenou, Atoe, Badazouin, Gnidonou, Honbete, Honhoui, Kpave, Medessedji et Zoungbo"
        },
        "Gbakpodji":{
            "population":"6821",
            "latitude":"",
            "longitude":"",
            "nombre_village":"5",
            "liste_village":"Ahloume, Bolime, Gbakpodji, Houeganmey et Kplatoe"
        },
        "Lobogo":{
            "population":"28598",
            "latitude":"",
            "longitude":"",
            "nombre_village":"11",
            "liste_village":"Adjame, Devedji, Djofoun, Dhodho, Lobogo Gbede Come, Lobogo Gbetocome, Gbozehoue, Hangnanmee, Atohoue, Yonouhoue et Tanve"
        },
        "Possotomè":{
            "population":"7782",
            "latitude":"6.708184",
            "longitude":"1.927113",
            "nombre_village":"7",
            "liste_village":"Akokponawa, Ouassa Kpodji, Ouassa Tokpa, Ouocome, Possotomè, Sehomi-dato et Sehomi Kogbome"
        },
        "Yégodoé":{
            "population":"15237",
            "latitude":"6.708184",
            "longitude":"1.927113",
            "nombre_village":"8",
            "liste_village":"Avegame, Djekian, Fandinwin, Lonfin, Tchantchankpo, Tekozouin, Tohoueta et Yegodoe"
        }
    },
    "Comè":{
        "nombre_arrondissement": "cinq",
        "Akodéha":{
            "population":"12894",
            "nombre_village":"8",
            "latitude":"6.460006",
            "longitude":"1.922425",
            "liste_village":"Aklome, Bowoue Gbedji, Degoue, Kpodji, Medemahoue, Mongnonwi, Tokan et Tossouhon"
        },
        "Ouèdèmè-Pédah":{
            "population":"6784",
            "latitude":"6.460006",
            "longitude":"1.922425",
            "nombre_village":"6",
            "liste_village":"Honnougbo, Kpetekan, Kpodji, Pedah Come, Totchon Agni et Zounta"
        },
        "Oumako":{
            "population":"4599",
            "latitude":"6.460006",
            "longitude":"1.922425",
            "nombre_village":"3",
            "liste_village":"Djakote, Sivame et Tove"
        }
    },
    "Grand-Popo":{
        "nombre_arrondissement": "sept",
        "Adjaha":{
            "population":"6877",
            "nombre_village":"7",
            "latitude":"6.460006",
            "longitude":"1.922425",
            "liste_village":"Adjaha, Cotocoli, Conho, Kpovidji, Seho Condji, Todjonoukoin et Tokpa Aizo"
        },
        "Sazoué":{
            "population":"4445",
            "latitude":"6.63333333",
            "longitude":"1.71666667",
            "nombre_village":"4",
            "liste_village":"Adankpe, Gnito, Sazue et Vodome"
        }
    },
     "Houéyogbé":{
        "nombre_arrondissement": "six",
        "Dahé":{
            "population":"19536",
            "nombre_village":"10",
            "latitude":"6.536670",
            "longitude":"1.861867",
            "liste_village":"Aguehon, Dahe-aklo, Dahe-kpodji, Danhoue, Djetoe, Djibio, Gnanmako, Houankpa, Kpassakanme et Tohoin"
        },
        "Doutou":{
            "population":"32597",
            "nombre_village":"17",
            "latitude":"6.536670",
            "longitude":"1.861867",
            "liste_village":"Adjame, Adrome Gbeto, Adrome Kpovidji, Doutou Agongo, Ahouloume, Didongbodo, Dodji, Doutou, Gahoue, Gbagbonou, Gboho, Gogohondji, Hlassigoume, Hounvi Atchago, Kowenou, Maiboui et Tokpa"
        },
        "Zoungbonou":{
            "population":"8804",
            "latitude":"6.536670",
            "longitude":"1.861867",
            "nombre_village":"6",
            "liste_village":"Dave, Houinga Houegbe, Hounga Salahoue, Manonkpon, Tohonou et Zoungbonou"
        }
    },
    "Lokossa":{
        "nombre_arrondissement": "cinq",
        "Koudo":{
            "population":"16506",
            "latitude":"6.644658",
            "longitude":"1.719661",
            "nombre_village":"6",
            "liste_village":"Adrodji, Agnito, Koudo, Kplogodome, Tinou et Tozoume"
        },
        "Ouèdèmè":{
            "population":"15075",
            "latitude":"6.644658",
            "longitude":"1.719661",
            "nombre_village":"12",
            "liste_village":"Adjigo Kpodave, Adjohoue, Agonkanme, Dansihoue, Djondjizoume, Hlodo, Kinwedji, Medehounta, Monkpa-sedji, Ouedeme Cada, Ouedeme Djanglanmey et Totinga"
        }
    }
}

ref_url = "https://www.insae-bj.org/statistiques/statistiques-demographiques#nos-12-departements"
commit = "Mise à jour infobox"

for item in data:
    for arr in data[item]:
        if arr != "nombre_arrondissement":

            for elements in data[item][arr]:
                page = pw.Page(site, arr)
                #if page.exists():
                    #print("extsts: " + page.title())
                    #page = pw.Page(site, arr + "_(Bénin)")

                infobox = "{{Infobox Commune du Bénin"  + "\r\n" \
                "| nom                      = " + arr + "\r\n" \
                "| image                    =" + "\r\n" \
                "| légende                  = " + "\r\n" \
                "| blason                   = <!-- facultatif -->" + "\r\n" \
                "| drapeau                  = <!-- facultatif -->" + "\r\n" \
                "| département              = [[Mono (département)|Mono]]" + "\r\n" \
                "| maire                    =" + "\r\n" \
                "| mandat maire             = " + "\r\n" \
                "| latitude                 =" + data[item][arr]["latitude"] + "\r\n" \
                "| longitude                =" + data[item][arr]["longitude"] + "\r\n" \
                "| alt mini                 = <!-- facultatif -->" + "\r\n" \
                "| alt maxi                 = <!-- facultatif -->" + "\r\n" \
                "| altitude                 =" + "\r\n" \
                "| superficie               =" + "\r\n" \
                "| population               = " + data[item][arr]["population"] + "\r\n" \
                "| année_pop                = 2013<ref name='INSAE'>INSAE, ''Effectifs de la population des villages et quartiers de ville du Bénin'', (RGPH-4, 2013), février 2016, {{p.|7}}</ref>" + "\r\n" \
                "| population agglomération = <!-- facultatif -->" + "\r\n" \
                "| gentilé                  = <!-- facultatif -->" + "\r\n" \
                "| lang                     = <!-- facultatif -->" + "\r\n" \
                "| siteweb                  = <!-- facultatif -->" + "\r\n" \
                "}}"


                ri = "'''" + arr + "'''" + " est l'un des " + data[item]["nombre_arrondissement"] + " [[Arrondissements du Bénin|arrondissements]] de la commune de " + "[[" + item + "]]" +  " dans le département du " + "[[" + departement + "]]" + " au [[Bénin]]."

                geography = "==Géographie==" + "\r\n" + arr + " est situé au sud-ouest du Bénin et compte " + "{{nombre|" + data[item][arr]["nombre_village"] + "}}" + " villages que sont " + data[item][arr]["liste_village"] +"."

                history = "==Histoire==" + "\r\n" + "{{...}}"

                demography = "==Démographie==" + "\r\n" + "Selon le recensement de la population de {{date|2013}} conduit par l'[[Institut national de la statistique et de l'analyse économique|Institut national de la statistique et de l'analyse économique (INSAE)]], " + arr + " compte " + "{{formatnum:" + data[item][arr]["population"] + "}}" + " habitants " + " <ref> " + ref_url + "</ref>."

                references = "==Références==" + "\r\n" + "{{Références}}"

                portail = "{{Portail|Bénin}}"

                categories = "[[Catégorie:Arrondissement du Bénin]]" + "\r\n" + "[[Catégorie:Mono]]"

                content = infobox + "\r\n" + "\r\n" + ri + "\r\n" + "\r\n" + geography + "\r\n" + "\r\n" + history + "\r\n" + "\r\n" + demography + "\r\n" + "\r\n" + references + "\r\n" + "\r\n"  + portail + "\r\n" + categories

            page.text = content
            page.save(commit)
            #counter = counter + 1
            #print(counter)
            #print(page.title())
            #print(page.text)
            #print(data[item]["nombre_arrondissement"])
            #print(page.text)
            #print(data["Adjara"][item]["population"])
Page [[fr:Adohoun]] saved
Sleeping for 8.4 seconds, 2020-01-04 15:57:27
Page [[fr:Atchannou]] saved
Sleeping for 8.2 seconds, 2020-01-04 15:57:37
Page [[fr:Dédékpoé]] saved
Sleeping for 8.2 seconds, 2020-01-04 15:57:47
Page [[fr:Kpinnou]] saved
Sleeping for 8.4 seconds, 2020-01-04 15:57:57
Page [[fr:Agbodji]] saved
Sleeping for 8.1 seconds, 2020-01-04 15:58:08
Page [[fr:Badazoui]] saved
Sleeping for 8.4 seconds, 2020-01-04 15:58:17
Page [[fr:Gbakpodji]] saved
Sleeping for 8.3 seconds, 2020-01-04 15:58:27
Page [[fr:Lobogo]] saved
Sleeping for 8.4 seconds, 2020-01-04 15:58:37
Page [[fr:Possotomè]] saved
Sleeping for 8.2 seconds, 2020-01-04 15:58:47
Page [[fr:Yégodoé]] saved
Sleeping for 8.1 seconds, 2020-01-04 15:58:58
Page [[fr:Akodéha]] saved
Sleeping for 8.1 seconds, 2020-01-04 15:59:08
Page [[fr:Ouèdèmè-Pédah]] saved
Sleeping for 8.1 seconds, 2020-01-04 15:59:18
Page [[fr:Oumako]] saved
Sleeping for 8.1 seconds, 2020-01-04 15:59:28
Page [[fr:Adjaha]] saved
Sleeping for 8.2 seconds, 2020-01-04 15:59:37
Page [[fr:Sazoué]] saved
Sleeping for 8.1 seconds, 2020-01-04 15:59:48
Page [[fr:Dahé]] saved
Sleeping for 8.0 seconds, 2020-01-04 15:59:58
Page [[fr:Doutou]] saved
Sleeping for 8.0 seconds, 2020-01-04 16:00:08
Page [[fr:Zoungbonou]] saved
Sleeping for 8.0 seconds, 2020-01-04 16:00:18
Page [[fr:Koudo]] saved
Sleeping for 8.1 seconds, 2020-01-04 16:00:28
Page [[fr:Ouèdèmè]] saved