import urllib.request, re, os, time, requests
a = 0
while a < 1 :
    file = urllib.request.urlopen('https://resultats.primaire2016.org/assets/data/france_total.json')
    lpr = []
    lvo = []

    for b in file :
            b = b.decode('UTF-8')
            #print(b)
            if b.startswith('            "porcentage": ') :
                pr = b.split('"porcentage":')
                pr = pr[1].split(',')
                lpr.append(pr[0])
            elif b.startswith('            "votes": ') :
                vo = b.split('"votes":')
                vo = vo[1].split(',')
                lvo.append(vo[0])
            
    contenu = "{{Date|20 novembre 2016}}"+"\n"
    contenu = contenu + "Le premier tour de la primaire de la droite et du centre se déroulait ce weekend en France. Seuls les deux candidats arrivés en tête sont qualifiés pour le second tour qui se déroulera le weekend prochain."
    contenu = contenu +"\n" + "<center>Résultats partiels le ~~~~~" +"\n" + "{{subst:Utilisateur:Mattho69/liste|vo_ns=" + lvo[0]+ "|pr_ns=" + lpr[0] 
    contenu = contenu + "|vo_ff=" + lvo[1]+ "|pr_ff=" + lpr[1]
    contenu = contenu + "|vo_nkm=" + lvo[2]+ "|pr_nkm=" + lpr[2]
    contenu = contenu + "|vo_aj=" + lvo[3]+ "|pr_aj=" + lpr[3]
    contenu = contenu + "|vo_jfc=" + lvo[4]+ "|pr_jfc=" + lpr[4]
    contenu = contenu + "|vo_blm=" + lvo[5]+ "|pr_blm=" + lpr[5]
    contenu = contenu + "|vo_jfp=" + lvo[6]+ "|pr_jfp=" + lpr[6] +"}}"+"\n" + "</center>" +"\n" 
    contenu = contenu + "== Source ==" +"\n"
    contenu = contenu + "* {{source|langue=fr"+"\n"+"|url=https://resultats.primaire2016.org/#/total"+"\n"+"|titre=Les résultats"+"\n"+"|auteur=primaire2016.org"+"\n"+"|date=20 novembre 2016}}"+"\n"
    contenu = contenu + "{{Publication|statut=article|jour=20|mois=novembre|année=2016}}"+"\n" + "{{Page|France|Politique et conflits}}" +"\n"
    contenu = contenu + "[[Catégorie:Europe]]" +"\n"+"[[Catégorie:France]]"+"\n"+ "[[Catégorie:Politique]]" +"\n"+ "[[Catégorie:Politique française]]"+"\n"
    contenu = contenu + "[[Catégorie:Les Républicains]]"+"\n"+"[[Catégorie:François Fillon]]"+"\n"+"[[Catégorie:Alain Juppé]]"+"\n" + "[[Catégorie:Primaire présidentielle des Républicains de 2016]]" +"\n" 
    contenu = contenu + "[[Catégorie:Nicolas Sarkozy]]"+"\n"+"[[Catégorie:Nathalie Kosciusko-Morizet]]"+"\n"+"[[Catégorie:Jean-François Copé]]" + "\n" + "[[Catégorie:Novembre 2016 en France|20]]"

        
    username = 'Matthobot'
    password = 'Matthobot@onemb59hk1offac6qpdboa65vueo6jba'
    baseurl = 'https://fr.wikinews.org/w/'
    summary = '[Action Bot]  primaire droite 2016'
    message = contenu
    #sectiontitle = liste_state[p]
        
    title = 'France : François Fillon en tête lors du premier tour de la primaire de la droite'
        
        
    # Login request
    payload = {'action': 'query', 'format': 'json', 'utf8': '', 'meta': 'tokens', 'type': 'login'}
    r1 = requests.post(baseurl + 'api.php', data=payload)

    # login confirm
    login_token = r1.json()['query']['tokens']['logintoken']
    payload = {'action': 'login', 'format': 'json', 'utf8': '', 'lgname': username, 'lgpassword': password, 'lgtoken': login_token}
    r2 = requests.post(baseurl + 'api.php', data=payload, cookies=r1.cookies)
        
    # get edit token2
    params3 = '?format=json&action=query&meta=tokens&continue='
    r3 = requests.get(baseurl + 'api.php' + params3, cookies=r2.cookies)
    edit_token = r3.json()['query']['tokens']['csrftoken']

        
    edit_cookie = r2.cookies.copy()
    edit_cookie.update(r3.cookies)

        
        # save action
    payload = {'action': 'edit', 'assert': 'user', 'format': 'json', 'bot' : '1', 'utf8': '', 'text': message,'summary': summary, 'title': title, 'token': edit_token}
    r4 = requests.post(baseurl + 'api.php', data=payload, cookies=edit_cookie)
            
    print(contenu)
    time.sleep(900)