diff --git a/gestion/iptools.py b/gestion/iptools.py index 691d05f5..966a0f61 100755 --- a/gestion/iptools.py +++ b/gestion/iptools.py @@ -7,11 +7,17 @@ Copyright (C) Fr Licence : GPLv2 """ + +# Pour accélérer QuadToDec... +__QuadToDecDone = {} + def QuadToDec(ip) : """ Retourne la représentation décimale d'une ip ip est de la forme xxx.xxx.xxx.xxx """ + if ip in __QuadToDecDone: + return __QuadToDecDone[ip] test = ip.split('.') if len(test)!=4 : raise ValueError('IP Invalide') ip_dec = 0 @@ -19,7 +25,8 @@ def QuadToDec(ip) : n = int(test[z]) if n<0 or n>255 : raise ValueError('IP Invalide') ip_dec += n * ( 256**(3-z) ) - + + __QuadToDecDone[ip] = ip_dec return ip_dec def DecToQuad(ip_dec) :