Filtrado corregido

parent 93a4748b
...@@ -41,6 +41,8 @@ class Dato: ...@@ -41,6 +41,8 @@ class Dato:
self.Clave,c = sacarLinea(cadena, c, aux, ' ') self.Clave,c = sacarLinea(cadena, c, aux, ' ')
self.Usuario,c = sacarLinea(cadena, c, aux, ' ') self.Usuario,c = sacarLinea(cadena, c, aux, ' ')
self.Fecha, c = leerFecha(cadena, c, aux) self.Fecha, c = leerFecha(cadena, c, aux)
self.Offset, c = sacarLinea(cadena, c, aux, ']')
self.Offset=self.Offset[1:len(self.Offset)]
# Obtenemos modo de petición, url y protocolo # Obtenemos modo de petición, url y protocolo
c = leerLinea(cadena, c, '"') c = leerLinea(cadena, c, '"')
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
def getFormatosFromCSV(cad): def getFormatosFromCSV(cad):
if cad !="" and cad[len(cad)-1]!=';':
cad+=';'
ret= cad.split(sep=';') ret= cad.split(sep=';')
for i in range(len(ret)): for i in range(len(ret)):
if ret[i]!="" and ret[i][0]!='.': if ret[i]!="" and ret[i][0]!='.':
......
...@@ -22,7 +22,8 @@ def leerLog(ruta, extensionesAdmitidas, extensionesNoAdmitidas): ...@@ -22,7 +22,8 @@ def leerLog(ruta, extensionesAdmitidas, extensionesNoAdmitidas):
try: try:
aux = Dato(linea) aux = Dato(linea)
if not aux.isPerdido(): # Si no es un valor perdido lo incluimos en los registros if not aux.isPerdido(): # Si no es un valor perdido lo incluimos en los registros
ret = obtenerDato(ret, extensionesAdmitidas, extensionesNoAdmitidas, aux) if datoAdmitido(extensionesAdmitidas, extensionesNoAdmitidas, aux):
ret.append(aux)
except: except:
continue continue
f.close() f.close()
...@@ -30,25 +31,51 @@ def leerLog(ruta, extensionesAdmitidas, extensionesNoAdmitidas): ...@@ -30,25 +31,51 @@ def leerLog(ruta, extensionesAdmitidas, extensionesNoAdmitidas):
return ret return ret
# Obtengo el dato de los registros dependiendo de qué extensiones procede # Miro si el dato procede ser insertado o no
def obtenerDato(ret, extensionesAdmitidas, extensionesNoAdmitidas, aux): def datoAdmitido(extensionesAdmitidas, extensionesNoAdmitidas, reg):
# Compruebo si el dato pertenece a una extension NO admitida #Por defecto, si las listas estan vacias, se acepta todo
admitir = True if len(extensionesAdmitidas)==0 and len(extensionesNoAdmitidas)==0:
for ext in extensionesNoAdmitidas: return True
if ext in aux.URL_Solicitada: ext=""
admitir = False if '.' not in reg.URL_Solicitada:#<-- Si el registro no tiene extension
sinExtension=True
else:
sinExtension=False
#Saco la extension
c=0
while c < len(reg.URL_Solicitada) and reg.URL_Solicitada[c]!='.':
c+=1
ext=reg.URL_Solicitada[c:len(reg.URL_Solicitada)]
# Si no se corresponde con ninguna extension NO admitida, compruebo si hay que filtrar con las admitidas if len(extensionesAdmitidas) != 0:#Se filtra por extensiones admitidas
if admitir: if sinExtension:
if len(extensionesAdmitidas) == 0: if "" in extensionesAdmitidas:
ret.append(aux) return True
else:
return False
else: else:
# Filtro con las admitidas if ext in extensionesAdmitidas:
for ext in extensionesAdmitidas: return True
if ext in aux.URL_Solicitada: else:
ret.append(aux) return False
else:
if sinExtension:
if "" not in extensionesNoAdmitidas:
return True
else:
return False
else:
if ext not in extensionesNoAdmitidas:
return True
else:
return False
return ret
# Quita las entradas que pertenecen arañas, bots o crawler # Quita las entradas que pertenecen arañas, bots o crawler
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment