In [1]:
import pywikibot
import datetime
import json
In [2]:
site = pywikibot.Site('fr', 'wikipedia')
In [38]:
#variables

#marge de 10min pour éviter de compter les blocages précipités si en première position
ME = datetime.timedelta(seconds=600) 
ME_flag = False

c=0 #compteur
blocage_total = datetime.timedelta() #duree du blocage total
blocage_indef_actuel = '' #bool le compte fait actuellement l'objet d'un blocage indef
nb_blocage = 0 #compte le nombre de blocages (block)
last_unblock = False #le log d'avant est un déblocage
last_indef = True #le log d'avant est un indef
last_unblock_timestamp = datetime.time() #mémorise le timestamp du déblocage précédent
last_reblock_expiry = '' #mémorise le expiry du reblocage précédent
last_reblock = '' #reblock
last_indef_timestamps = datetime.time() #timestamp dernier blocage indef
t_block = datetime.time() #variable temporaire pour retenir le timestamp du dernier blocage

#date du dernier blocage : timestamp du blocage indef ou expiry du blocage classique
final_time = datetime.time()
#date du premier blocage
first_time = datetime.time() 

#remet les valeurs à zero
def reset_variables():
    global c
    c = 0
    global blocage_total 
    blocage_total = datetime.timedelta()
    global nb_blocage 
    nb_blocage = 0
    global last_unblock
    last_unblock = False
    global last_unblock_timestamp
    last_unblock_timestamp = datetime.time()
    global blocage_indef_actuel 
    blocage_indef_actuel= ''
    global final_time
    final_time = datetime.time()
    global first_time
    first_time = datetime.time()
    global last_indef_timestamps
    last_indef_timestamps = datetime.time()
    global last_indef
    last_indef = True
    global ME_flag 
    ME_flag = False
    global t_block
    t_block = datetime.time()
    global last_reblock_expiry
    last_reblock_expiry = ''
    global last_reblock
    last_reblock = ''

#donne la date du dernier blocage indef
def set_final_time(l):
    global final_time
    global last_indef
    global last_indef_timestamps
    global c
    
    if(blocage_indef_actuel == True and last_indef == True):
        if(is_indef(l)):
            last_indef_timestamps = l.timestamp()
        else:
            last_indef = False
            
    if(blocage_indef_actuel == False and c<2):
        last_indef_timestamps = None
        

#s'il dispose d'une date d'expiration
def is_with_expiry(l):
    if(l.expiry() is None):
        return True
    else:
        return False

#s'il s'agit d'un blocage indef
def is_indef(l):
    if(l.expiry() is None and (l.action() == "block" or l.action() == "reblock")):
        return True
    else:
        return False

#s'il s'agit d'un déblocage
def is_unblock(l):
    if(l.action() == "unblock"):
        return True
    else:
        return False

#s'il s'agit d'un reblock
def is_reblock(l):
    if(l.action() == "reblock"):
        return True
    else:
        return False
    
#incrémente la durée du blocage
def add_blocage_total(l):
    global blocage_total
    global last_unblock
    global last_unblock_timestamp
    global ME
    global ME_flag
    global first_time
    global t_block
    global last_reblock_expiry
    global last_reblock
    
    ME_flag = False
    
    #gère les cas de déblocages
    if(last_unblock):
        if(last_unblock_timestamp - l.timestamp() < ME ):
            ME_flag = True
            first_time = l.timestamp()
        blocage_total += last_unblock_timestamp - l.timestamp()
    else:
        #si le dernier n'est pas un déblocage
        if(not ME_flag and l.action() == "block"):
            t_block = l.timestamp()
        if (not is_with_expiry(l)):
            #si fini
            if(is_reblock(l)):
                #si reblocage
                if(last_reblock_expiry == ''):
                    last_reblock_expiry = l.expiry()
                else:
                    if(last_reblock_expiry < l.expiry()):
                        last_reblock_expiry = l.expiry()
            else:
                if(last_reblock):
                    #print('---', last_reblock_expiry, l.timestamp())
                    if(not last_reblock_expiry == ''):
                        blocage_total += last_reblock_expiry - l.timestamp()
                    else:
                        blocage_total += l.duration()
                else:
                    blocage_total += l.duration()

    #met à jour l'état de déblocage
    if(is_unblock(l)):
        last_unblock = True
        last_unblock_timestamp = l.timestamp()
    else:
        last_unblock = False
    
    if(is_reblock(l)):
        last_reblock = True
    else:
        last_reblock = False
        last_reblock_expiry = ''

#calcul amplitude
def amplitude(first_time, last_indef_timestamps, secondes):
    if(last_indef_timestamps == '' or last_indef_timestamps == None):
        d = 'None'
    else:
        if(secondes):
            d = last_indef_timestamps - first_time
            d = d.total_seconds()
        else:
            d = str(last_indef_timestamps - first_time)
    return d
#affiche les résultats dans un fichier Json
def display_results(user):
    data = {}
    data['user'] = str(user)
    data['blocage_total'] = str(blocage_total)
    data['blocage_total_seconds'] = blocage_total.total_seconds()
    data['blocage_indef_actuel'] = blocage_indef_actuel
    data['nb_blocage'] = nb_blocage
    data['first_time'] = str(first_time)
    data['last_indef_timestamps'] = str(last_indef_timestamps)
    data['amplitude'] = amplitude(first_time, last_indef_timestamps, False)
    data['amplitude_seconde'] = amplitude(first_time, last_indef_timestamps, True)
    print(json.dumps(data))

#main
def get_log_user(name):
    global blocage_indef_actuel
    global c
    global nb_blocage
    global first_time
    
    #récupération du log
    cible = pywikibot.User(title=name, source=site)
    logs = site.logevents(page=cible, logtype="block")
    
    #lecture du log
    for l in logs :
        #print(l.page(), l.action(), l.timestamp(),l.user(),l.duration(),l.expiry())
        
        #regarde si le log le plus récent est un blocage indef
        if(blocage_indef_actuel == ''):
            blocage_indef_actuel = is_indef(l)
            
        #Dernier blocage indef
        set_final_time(l)

        #incrémente les blocages
        if(l.action() == "block"):
            nb_blocage += 1

        #incrémentation de la durée du blocage
        add_blocage_total(l)
        #incrémentation du compteur
        c=c+1
    
    #levée d'une exception si user sans blocage ou inexistant
    if (c==0):
        reset_variables()
        raise Exception('L\'utilisateur ', user , ' n\'a jamais été bloqué ou n\'existe pas.')
        
    if(ME_flag):
        first_time = t_block
    else:
        first_time = l.timestamp()
    
    #affichage des résulats
    display_results(user)
    #remise à zero des variables
    reset_variables()

#utilisateurs à analyser
users = [
'Agota',
'Alain843',
'Albion~frwiki',
'Aniselbahdja',
'AnthonyContribution',
'Arorae',
'B.Y. Luc Archambault',
'Benoit Montfort',
'Calcineur',
'Claude PIARD',
'Correcteur21',
'Cosavostra',
'Coubert de France',
'Deuxtroy',
'Distribution aux Consommateurs',
#'Drac',
'Droit de retrait 01',
'G de gonjasufi',
'Gkml',
'Guiggz',
'Haneelam',
'Honorable Correspondant',
'Idéalités',
'Iluvalar',
'Inde',
'Jaipigé',
'Jean-Jacques Georges',
'Jim167',
'JJ Georges',
'Josido',
'JPS68',
'Levetop',
'Lgd',
'Lolo878',
'LouisAlain',
'Loupeeclair',
'Luca Di Amoretti',
'Lustucri',
'Marcel Robert Mangoubi Gnoutou',
'Martino75',
'Maxam1392',
'Mehdintyre',
'Microphone',
'Mielchor',
'Nashjean',
'Nezumi',
'Noritaka666',
'Obamette',
'Om56860',
#'Papotages',
'Pat grenier',
'Patrick Rogel',
'Peppy Hare',
'PiedgauchedeZidane',
'Prosumac2',
'Ramirezo',
'Roquefeuil',
'Sartorius',
'Sebrider',
'Soniqueboum',
'Soren56',
'Soument',
'St Malo',
'Talamantes',
'Tranquil Pepere',
'TuhQueur',
'Vanneau Asocial',
'Vdrpatrice',
'W200',
'Wacky25',
'WavesOfJoy',
'Winckelmann',
'Xiloppo',
'Zeus tha Zoti',
'Zolapin',
'प्रजापति',
'*SM*',
'Classiccardinal',
#'Cocollector',
'Cruks'
]

for user in users :
    try:
        get_log_user(user)
    except Exception as e:
        print(e)
{"user": "Agota", "blocage_total": "33 days, 0:00:00", "blocage_total_seconds": 2851200.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2012-06-27T04:24:34Z", "last_indef_timestamps": "2013-06-09T21:13:39Z", "amplitude": "347 days, 16:49:05", "amplitude_seconde": 30041345.0}
{"user": "Alain843", "blocage_total": "433 days, 8:53:45", "blocage_total_seconds": 37443225.0, "blocage_indef_actuel": true, "nb_blocage": 9, "first_time": "2011-06-14T11:51:54Z", "last_indef_timestamps": "2013-09-20T21:56:33Z", "amplitude": "829 days, 10:04:39", "amplitude_seconde": 71661879.0}
{"user": "Albion~frwiki", "blocage_total": "9 days, 23:08:23", "blocage_total_seconds": 860903.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2008-04-03T17:24:11Z", "last_indef_timestamps": "2008-11-03T23:31:44Z", "amplitude": "214 days, 6:07:33", "amplitude_seconde": 18511653.0}
{"user": "Aniselbahdja", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-01-29T06:42:10Z", "last_indef_timestamps": "2017-01-29T06:42:10Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "AnthonyContribution", "blocage_total": "30 days, 0:00:00", "blocage_total_seconds": 2592000.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2012-01-31T12:28:53Z", "last_indef_timestamps": "2012-03-01T23:33:45Z", "amplitude": "30 days, 11:04:52", "amplitude_seconde": 2631892.0}
{"user": "Arorae", "blocage_total": "184 days, 22:34:58", "blocage_total_seconds": 15978898.0, "blocage_indef_actuel": true, "nb_blocage": 17, "first_time": "2007-12-13T22:41:22Z", "last_indef_timestamps": "2019-07-16T22:57:57Z", "amplitude": "4233 days, 0:16:35", "amplitude_seconde": 365732195.0}
{"user": "B.Y. Luc Archambault", "blocage_total": "93 days, 0:00:00", "blocage_total_seconds": 8035200.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2013-01-10T11:33:54Z", "last_indef_timestamps": "2016-06-11T09:33:08Z", "amplitude": "1247 days, 21:59:14", "amplitude_seconde": 107819954.0}
{"user": "Benoit Montfort", "blocage_total": "8 days, 6:45:45", "blocage_total_seconds": 715545.0, "blocage_indef_actuel": true, "nb_blocage": 6, "first_time": "2007-08-03T09:35:44Z", "last_indef_timestamps": "2007-08-29T13:49:47Z", "amplitude": "26 days, 4:14:03", "amplitude_seconde": 2261643.0}
{"user": "Calcineur", "blocage_total": "452 days, 8:51:31", "blocage_total_seconds": 39084691.0, "blocage_indef_actuel": true, "nb_blocage": 11, "first_time": "2010-10-11T08:40:20Z", "last_indef_timestamps": "2012-02-07T14:12:08Z", "amplitude": "484 days, 5:31:48", "amplitude_seconde": 41837508.0}
{"user": "Claude PIARD", "blocage_total": "243 days, 23:59:59", "blocage_total_seconds": 21081599.0, "blocage_indef_actuel": true, "nb_blocage": 6, "first_time": "2011-01-25T22:52:37Z", "last_indef_timestamps": "2016-10-24T16:43:05Z", "amplitude": "2098 days, 17:50:28", "amplitude_seconde": 181331428.0}
{"user": "Correcteur21", "blocage_total": "6 days, 0:00:00", "blocage_total_seconds": 518400.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2014-02-03T12:06:10Z", "last_indef_timestamps": "2016-07-20T01:27:41Z", "amplitude": "897 days, 13:21:31", "amplitude_seconde": 77548891.0}
{"user": "Cosavostra", "blocage_total": "57 days, 18:56:32", "blocage_total_seconds": 4992992.0, "blocage_indef_actuel": true, "nb_blocage": 4, "first_time": "2012-06-22T14:09:34Z", "last_indef_timestamps": "2013-12-29T21:12:47Z", "amplitude": "555 days, 7:03:13", "amplitude_seconde": 47977393.0}
{"user": "Coubert de France", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-10-09T10:33:07Z", "last_indef_timestamps": "2017-10-09T10:33:07Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Deuxtroy", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2012-10-20T16:09:31Z", "last_indef_timestamps": "2012-10-20T16:09:31Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Distribution aux Consommateurs", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2018-05-10T21:17:40Z", "last_indef_timestamps": "2018-05-10T21:17:40Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Droit de retrait 01", "blocage_total": "276 days, 9:02:29", "blocage_total_seconds": 23878949.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2012-02-20T21:47:01Z", "last_indef_timestamps": "2013-07-09T07:56:11Z", "amplitude": "504 days, 10:09:10", "amplitude_seconde": 43582150.0}
{"user": "G de gonjasufi", "blocage_total": "41 days, 14:00:00", "blocage_total_seconds": 3592800.0, "blocage_indef_actuel": true, "nb_blocage": 6, "first_time": "2013-08-16T20:23:38Z", "last_indef_timestamps": "2014-09-12T18:55:16Z", "amplitude": "391 days, 22:31:38", "amplitude_seconde": 33863498.0}
{"user": "Gkml", "blocage_total": "108 days, 23:19:44", "blocage_total_seconds": 9415184.0, "blocage_indef_actuel": true, "nb_blocage": 5, "first_time": "2016-12-20T13:51:26Z", "last_indef_timestamps": "2019-04-10T12:28:02Z", "amplitude": "840 days, 22:36:36", "amplitude_seconde": 72657396.0}
{"user": "Guiggz", "blocage_total": "432 days, 23:00:00", "blocage_total_seconds": 37407600.0, "blocage_indef_actuel": true, "nb_blocage": 12, "first_time": "2011-04-29T15:24:22Z", "last_indef_timestamps": "2013-07-23T18:54:10Z", "amplitude": "816 days, 3:29:48", "amplitude_seconde": 70514988.0}
{"user": "Haneelam", "blocage_total": "8 days, 0:00:00", "blocage_total_seconds": 691200.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2011-04-01T00:53:44Z", "last_indef_timestamps": "2011-05-11T16:38:27Z", "amplitude": "40 days, 15:44:43", "amplitude_seconde": 3512683.0}
{"user": "Honorable Correspondant", "blocage_total": "17 days, 23:00:00", "blocage_total_seconds": 1551600.0, "blocage_indef_actuel": true, "nb_blocage": 5, "first_time": "2014-11-19T19:30:37Z", "last_indef_timestamps": "2018-04-23T08:06:46Z", "amplitude": "1250 days, 12:36:09", "amplitude_seconde": 108045369.0}
{"user": "Id\u00e9alit\u00e9s", "blocage_total": "18 days, 11:07:50", "blocage_total_seconds": 1595270.0, "blocage_indef_actuel": true, "nb_blocage": 5, "first_time": "2018-10-16T09:51:58Z", "last_indef_timestamps": "2019-03-20T15:12:03Z", "amplitude": "155 days, 5:20:05", "amplitude_seconde": 13411205.0}
{"user": "Iluvalar", "blocage_total": "426 days, 17:34:05", "blocage_total_seconds": 36869645.0, "blocage_indef_actuel": true, "nb_blocage": 24, "first_time": "2009-06-16T17:43:35Z", "last_indef_timestamps": "2014-05-14T03:47:29Z", "amplitude": "1792 days, 10:03:54", "amplitude_seconde": 154865034.0}
{"user": "Inde", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-05-11T12:31:22Z", "last_indef_timestamps": "2017-05-11T12:31:22Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Jaipig\u00e9", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-10-09T10:33:35Z", "last_indef_timestamps": "2017-10-09T10:33:35Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Jean-Jacques Georges", "blocage_total": "59 days, 3:53:35", "blocage_total_seconds": 5111615.0, "blocage_indef_actuel": true, "nb_blocage": 14, "first_time": "2009-06-30T09:45:05Z", "last_indef_timestamps": "2019-02-14T22:16:55Z", "amplitude": "3516 days, 12:31:50", "amplitude_seconde": 303827510.0}
{"user": "Jim167", "blocage_total": "31 days, 10:05:09", "blocage_total_seconds": 2714709.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2012-02-22T13:36:22Z", "last_indef_timestamps": "2014-04-03T12:44:23Z", "amplitude": "770 days, 23:08:01", "amplitude_seconde": 66611281.0}
{"user": "JJ Georges", "blocage_total": "7 days, 0:00:00", "blocage_total_seconds": 604800.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2015-11-18T15:10:19Z", "last_indef_timestamps": "2019-02-14T22:17:42Z", "amplitude": "1184 days, 7:07:23", "amplitude_seconde": 102323243.0}
{"user": "Josido", "blocage_total": "4 days, 7:25:41", "blocage_total_seconds": 372341.0, "blocage_indef_actuel": true, "nb_blocage": 5, "first_time": "2005-09-20T19:22:12Z", "last_indef_timestamps": "2005-10-15T20:49:00Z", "amplitude": "25 days, 1:26:48", "amplitude_seconde": 2165208.0}
{"user": "JPS68", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2019-10-04T17:31:44Z", "last_indef_timestamps": "2019-10-04T17:31:44Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Levetop", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2015-01-08T18:48:30Z", "last_indef_timestamps": "2015-01-08T18:48:30Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Lgd", "blocage_total": "182 days, 23:50:57", "blocage_total_seconds": 15810657.0, "blocage_indef_actuel": true, "nb_blocage": 10, "first_time": "2009-07-05T11:56:38Z", "last_indef_timestamps": "2012-09-19T04:45:43Z", "amplitude": "1171 days, 16:49:05", "amplitude_seconde": 101234945.0}
{"user": "Lolo878", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2013-09-21T22:39:30Z", "last_indef_timestamps": "2013-09-21T22:39:30Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "LouisAlain", "blocage_total": "100 days, 1:35:35", "blocage_total_seconds": 8645735.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2015-06-10T00:31:20Z", "last_indef_timestamps": "2016-04-02T11:05:54Z", "amplitude": "297 days, 10:34:34", "amplitude_seconde": 25698874.0}
{"user": "Loupeeclair", "blocage_total": "3 days, 16:49:55", "blocage_total_seconds": 319795.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2014-10-24T05:54:46Z", "last_indef_timestamps": "2015-03-28T10:41:23Z", "amplitude": "155 days, 4:46:37", "amplitude_seconde": 13409197.0}
{"user": "Luca Di Amoretti", "blocage_total": "184 days, 14:32:08", "blocage_total_seconds": 15949928.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2010-08-05T15:09:28Z", "last_indef_timestamps": "2010-08-09T12:03:03Z", "amplitude": "3 days, 20:53:35", "amplitude_seconde": 334415.0}
{"user": "Lustucri", "blocage_total": "11 days, 9:00:10", "blocage_total_seconds": 982810.0, "blocage_indef_actuel": true, "nb_blocage": 5, "first_time": "2007-02-04T09:13:14Z", "last_indef_timestamps": "2007-02-15T18:15:38Z", "amplitude": "11 days, 9:02:24", "amplitude_seconde": 982944.0}
{"user": "Marcel Robert Mangoubi Gnoutou", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-08-03T04:59:02Z", "last_indef_timestamps": "2017-08-03T04:59:02Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Martino75", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2013-08-04T11:02:45Z", "last_indef_timestamps": "2013-08-04T11:02:45Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Maxam1392", "blocage_total": "199 days, 20:50:54", "blocage_total_seconds": 17268654.0, "blocage_indef_actuel": true, "nb_blocage": 4, "first_time": "2017-05-07T22:49:02Z", "last_indef_timestamps": "2017-09-17T01:10:28Z", "amplitude": "132 days, 2:21:26", "amplitude_seconde": 11413286.0}
{"user": "Mehdintyre", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-10-11T20:31:04Z", "last_indef_timestamps": "2017-10-11T20:31:04Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Microphone", "blocage_total": "486 days, 21:55:14", "blocage_total_seconds": 42069314.0, "blocage_indef_actuel": true, "nb_blocage": 13, "first_time": "2007-09-17T14:59:30Z", "last_indef_timestamps": "2009-02-04T17:39:52Z", "amplitude": "506 days, 2:40:22", "amplitude_seconde": 43728022.0}
{"user": "Mielchor", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2019-05-07T10:13:12Z", "last_indef_timestamps": "2019-05-07T10:13:12Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Nashjean", "blocage_total": "63 days, 0:00:00", "blocage_total_seconds": 5443200.0, "blocage_indef_actuel": true, "nb_blocage": 4, "first_time": "2014-02-10T16:30:50Z", "last_indef_timestamps": "2018-02-24T00:28:40Z", "amplitude": "1474 days, 7:57:50", "amplitude_seconde": 127382270.0}
{"user": "Nezumi", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2006-03-22T19:51:16Z", "last_indef_timestamps": "2006-03-22T19:51:16Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Noritaka666", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2012-10-18T13:32:21Z", "last_indef_timestamps": "2013-02-01T13:30:37Z", "amplitude": "105 days, 23:58:16", "amplitude_seconde": 9158296.0}
{"user": "Obamette", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2016-12-04T18:48:10Z", "last_indef_timestamps": "2016-12-04T18:48:10Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Om56860", "blocage_total": "4 days, 0:00:00", "blocage_total_seconds": 345600.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2009-08-28T20:17:34Z", "last_indef_timestamps": "2009-09-02T16:56:12Z", "amplitude": "4 days, 20:38:38", "amplitude_seconde": 419918.0}
{"user": "Pat grenier", "blocage_total": "7 days, 18:12:01", "blocage_total_seconds": 670321.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2011-09-24T17:09:23Z", "last_indef_timestamps": "2011-10-12T07:02:30Z", "amplitude": "17 days, 13:53:07", "amplitude_seconde": 1518787.0}
{"user": "Patrick Rogel", "blocage_total": "367 days, 14:07:02", "blocage_total_seconds": 31759622.0, "blocage_indef_actuel": true, "nb_blocage": 18, "first_time": "2009-08-07T11:17:28Z", "last_indef_timestamps": "2015-02-19T01:43:15Z", "amplitude": "2021 days, 14:25:47", "amplitude_seconde": 174666347.0}
{"user": "Peppy Hare", "blocage_total": "15 days, 14:41:29", "blocage_total_seconds": 1348889.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2012-05-27T19:11:55Z", "last_indef_timestamps": "2012-11-23T12:00:13Z", "amplitude": "179 days, 16:48:18", "amplitude_seconde": 15526098.0}
{"user": "PiedgauchedeZidane", "blocage_total": "14 days, 0:00:00", "blocage_total_seconds": 1209600.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2012-09-05T08:15:01Z", "last_indef_timestamps": "2012-09-19T19:58:51Z", "amplitude": "14 days, 11:43:50", "amplitude_seconde": 1251830.0}
{"user": "Prosumac2", "blocage_total": "118 days, 22:43:13", "blocage_total_seconds": 10276993.0, "blocage_indef_actuel": true, "nb_blocage": 6, "first_time": "2009-07-11T22:44:04Z", "last_indef_timestamps": "2015-05-10T23:30:22Z", "amplitude": "2129 days, 0:46:18", "amplitude_seconde": 183948378.0}
{"user": "Ramirezo", "blocage_total": "8 days, 0:00:00", "blocage_total_seconds": 691200.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2016-12-21T18:09:31Z", "last_indef_timestamps": "2016-12-25T11:10:21Z", "amplitude": "3 days, 17:00:50", "amplitude_seconde": 320450.0}
{"user": "Roquefeuil", "blocage_total": "238 days, 17:11:28", "blocage_total_seconds": 20625088.0, "blocage_indef_actuel": true, "nb_blocage": 7, "first_time": "2009-11-23T18:06:02Z", "last_indef_timestamps": "2015-11-11T09:37:23Z", "amplitude": "2178 days, 15:31:21", "amplitude_seconde": 188235081.0}
{"user": "Sartorius", "blocage_total": "33 days, 5:20:43", "blocage_total_seconds": 2870443.0, "blocage_indef_actuel": true, "nb_blocage": 4, "first_time": "2007-09-20T08:45:26Z", "last_indef_timestamps": "2014-05-25T10:25:10Z", "amplitude": "2439 days, 1:39:44", "amplitude_seconde": 210735584.0}
{"user": "Sebrider", "blocage_total": "99 days, 18:03:45", "blocage_total_seconds": 8618625.0, "blocage_indef_actuel": true, "nb_blocage": 6, "first_time": "2011-08-03T16:13:02Z", "last_indef_timestamps": "2012-12-08T16:59:31Z", "amplitude": "493 days, 0:46:29", "amplitude_seconde": 42597989.0}
{"user": "Soniqueboum", "blocage_total": "56 days, 0:00:00", "blocage_total_seconds": 4838400.0, "blocage_indef_actuel": true, "nb_blocage": 5, "first_time": "2014-04-24T05:25:04Z", "last_indef_timestamps": "2017-03-27T07:25:06Z", "amplitude": "1068 days, 2:00:02", "amplitude_seconde": 92282402.0}
{"user": "Soren56", "blocage_total": "23 days, 23:59:59", "blocage_total_seconds": 2073599.0, "blocage_indef_actuel": true, "nb_blocage": 4, "first_time": "2015-06-28T14:51:35Z", "last_indef_timestamps": "2016-11-10T09:30:37Z", "amplitude": "500 days, 18:39:02", "amplitude_seconde": 43267142.0}
{"user": "Soument", "blocage_total": "153 days, 18:34:12", "blocage_total_seconds": 13286052.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2012-02-26T18:14:14Z", "last_indef_timestamps": "2012-08-14T10:42:07Z", "amplitude": "169 days, 16:27:53", "amplitude_seconde": 14660873.0}
{"user": "St Malo", "blocage_total": "286 days, 13:29:56", "blocage_total_seconds": 24758996.0, "blocage_indef_actuel": true, "nb_blocage": 6, "first_time": "2013-05-24T21:59:32Z", "last_indef_timestamps": "2015-05-11T17:27:58Z", "amplitude": "716 days, 19:28:26", "amplitude_seconde": 61932506.0}
{"user": "Talamantes", "blocage_total": "318 days, 0:35:23", "blocage_total_seconds": 27477323.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2011-05-16T21:04:09Z", "last_indef_timestamps": "2011-09-08T21:30:44Z", "amplitude": "115 days, 0:26:35", "amplitude_seconde": 9937595.0}
{"user": "Tranquil Pepere", "blocage_total": "4 days, 0:00:00", "blocage_total_seconds": 345600.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2013-08-06T09:45:32Z", "last_indef_timestamps": "2013-08-13T18:26:45Z", "amplitude": "7 days, 8:41:13", "amplitude_seconde": 636073.0}
{"user": "TuhQueur", "blocage_total": "91 days, 11:05:15", "blocage_total_seconds": 7902315.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2018-11-18T13:42:56Z", "last_indef_timestamps": "2019-02-14T22:15:52Z", "amplitude": "88 days, 8:32:56", "amplitude_seconde": 7633976.0}
{"user": "Vanneau Asocial", "blocage_total": "17 days, 15:31:03", "blocage_total_seconds": 1524663.0, "blocage_indef_actuel": true, "nb_blocage": 8, "first_time": "2016-08-06T10:33:42Z", "last_indef_timestamps": "2019-03-06T20:11:57Z", "amplitude": "942 days, 9:38:15", "amplitude_seconde": 81423495.0}
{"user": "Vdrpatrice", "blocage_total": "338 days, 5:15:39", "blocage_total_seconds": 29222139.0, "blocage_indef_actuel": true, "nb_blocage": 9, "first_time": "2006-12-07T22:25:11Z", "last_indef_timestamps": "2007-12-09T18:28:31Z", "amplitude": "366 days, 20:03:20", "amplitude_seconde": 31694600.0}
{"user": "W200", "blocage_total": "17 days, 0:00:00", "blocage_total_seconds": 1468800.0, "blocage_indef_actuel": true, "nb_blocage": 6, "first_time": "2009-04-02T07:30:21Z", "last_indef_timestamps": "2014-09-30T15:30:24Z", "amplitude": "2007 days, 8:00:03", "amplitude_seconde": 173433603.0}
{"user": "Wacky25", "blocage_total": "96 days, 11:04:50", "blocage_total_seconds": 8334290.0, "blocage_indef_actuel": true, "nb_blocage": 5, "first_time": "2009-01-21T05:14:35Z", "last_indef_timestamps": "2015-09-16T19:02:12Z", "amplitude": "2429 days, 13:47:37", "amplitude_seconde": 209915257.0}
{"user": "WavesOfJoy", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-10-09T10:32:46Z", "last_indef_timestamps": "2017-10-09T10:32:46Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "Winckelmann", "blocage_total": "12 days, 15:37:24", "blocage_total_seconds": 1093044.0, "blocage_indef_actuel": true, "nb_blocage": 4, "first_time": "2008-09-30T22:55:31Z", "last_indef_timestamps": "2008-10-16T21:42:54Z", "amplitude": "15 days, 22:47:23", "amplitude_seconde": 1378043.0}
{"user": "Xiloppo", "blocage_total": "17 days, 4:04:49", "blocage_total_seconds": 1483489.0, "blocage_indef_actuel": true, "nb_blocage": 2, "first_time": "2017-09-05T10:41:54Z", "last_indef_timestamps": "2017-11-07T17:44:58Z", "amplitude": "63 days, 7:03:04", "amplitude_seconde": 5468584.0}
{"user": "Zeus tha Zoti", "blocage_total": "7 days, 0:00:00", "blocage_total_seconds": 604800.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2017-05-16T21:16:40Z", "last_indef_timestamps": "2017-05-17T21:15:27Z", "amplitude": "23:58:47", "amplitude_seconde": 86327.0}
{"user": "Zolapin", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2014-05-03T13:20:14Z", "last_indef_timestamps": "2014-05-03T13:20:14Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
{"user": "\u092a\u094d\u0930\u091c\u093e\u092a\u0924\u093f", "blocage_total": "34 days, 0:00:00", "blocage_total_seconds": 2937600.0, "blocage_indef_actuel": true, "nb_blocage": 3, "first_time": "2015-01-14T13:19:14Z", "last_indef_timestamps": "2015-02-21T04:34:16Z", "amplitude": "37 days, 15:15:02", "amplitude_seconde": 3251702.0}
{"user": "*SM*", "blocage_total": "1553 days, 15:06:52", "blocage_total_seconds": 134233612.0, "blocage_indef_actuel": false, "nb_blocage": 12, "first_time": "2010-02-16T18:22:27Z", "last_indef_timestamps": "None", "amplitude": "None", "amplitude_seconde": "None"}
{"user": "Classiccardinal", "blocage_total": "290 days, 20:40:27", "blocage_total_seconds": 25130427.0, "blocage_indef_actuel": true, "nb_blocage": 7, "first_time": "2013-05-17T12:36:29Z", "last_indef_timestamps": "2015-01-01T22:59:12Z", "amplitude": "594 days, 10:22:43", "amplitude_seconde": 51358963.0}
{"user": "Cruks", "blocage_total": "0:00:00", "blocage_total_seconds": 0.0, "blocage_indef_actuel": true, "nb_blocage": 1, "first_time": "2015-03-16T09:09:48Z", "last_indef_timestamps": "2015-03-16T09:09:48Z", "amplitude": "0:00:00", "amplitude_seconde": 0.0}
In [ ]:
 
In [ ]: