Tabla sesiones mas cortas añadida

parent 066b4723
This diff could not be displayed because it is too large.
...@@ -80,6 +80,12 @@ class Dato: ...@@ -80,6 +80,12 @@ class Dato:
return True return True
if self.Marca_Tiempo is None: if self.Marca_Tiempo is None:
return True return True
if self.Usuario is None:
return True
if self.Offset is None:
return True
if self.Clave is None:
return True
if self.Marca_Tiempo < 0: if self.Marca_Tiempo < 0:
return True return True
return False return False
......
...@@ -8,6 +8,7 @@ from GuiEstadisticas import estadisticasTMedioPag ...@@ -8,6 +8,7 @@ from GuiEstadisticas import estadisticasTMedioPag
from eliminarComportamientoAutomatico_GUI import FiltrarComportamientoAutomatico from eliminarComportamientoAutomatico_GUI import FiltrarComportamientoAutomatico
from ObtenerMasVisitados import ObtenerMasVisitados from ObtenerMasVisitados import ObtenerMasVisitados
from DirectoriosMasSolicitados_GUI import DirectoriosMasSol from DirectoriosMasSolicitados_GUI import DirectoriosMasSol
from TablaSesionesMenorTMedioPag import TablaSesionesMenorTMedioPag
from AnalisisDuracionSesion import estadisticasDuracionSesiones from AnalisisDuracionSesion import estadisticasDuracionSesiones
from TablaExtFrec import TablaExtFrec from TablaExtFrec import TablaExtFrec
from Dato import Dato from Dato import Dato
...@@ -112,6 +113,11 @@ def extMasFrec(): ...@@ -112,6 +113,11 @@ def extMasFrec():
if len(REG) > 0: if len(REG) > 0:
TablaExtFrec(REG) TablaExtFrec(REG)
def TablaSesionesMasCortas():
if len(REG) > 0:
TablaSesionesMenorTMedioPag(REG)
def barraMenu(ventana): def barraMenu(ventana):
# DEFINIR BARRA DE MENÚ DE LA APLICACION: # DEFINIR BARRA DE MENÚ DE LA APLICACION:
barramenu = Menu(ventana) barramenu = Menu(ventana)
...@@ -146,6 +152,9 @@ def barraMenu(ventana): ...@@ -146,6 +152,9 @@ def barraMenu(ventana):
underline=0, compound=RIGHT) underline=0, compound=RIGHT)
menu2.add_command(label='Extensiones con mas ocurrencias', command=extMasFrec, menu2.add_command(label='Extensiones con mas ocurrencias', command=extMasFrec,
underline=0, compound=RIGHT) underline=0, compound=RIGHT)
menu2.add_command(label='Sesiones con menor tiempo medio', command=TablaSesionesMasCortas,
underline=0, compound=RIGHT)
menu3 = Menu(barramenu) menu3 = Menu(barramenu)
barramenu.add_cascade(menu=menu3, label='Cesta') barramenu.add_cascade(menu=menu3, label='Cesta')
......
from Dato import Dato from Dato import Dato
from idsUsuarioSesion import identificaciones from idsUsuarioSesion import identificaciones
from tkinter import *
from tkinter import messagebox as MessageBox
# Lee el fichero log # Lee el fichero log
...@@ -80,11 +82,13 @@ def datoAdmitido(extensionesAdmitidas, extensionesNoAdmitidas, reg): ...@@ -80,11 +82,13 @@ def datoAdmitido(extensionesAdmitidas, extensionesNoAdmitidas, reg):
# Quita las entradas que pertenecen arañas, bots o crawler # Quita las entradas que pertenecen arañas, bots o crawler
def eSpidering(reg): def eSpidering(reg):
longitudOriginal=len(reg)
aQuitar = ["spider", "bot", "crawler"] aQuitar = ["spider", "bot", "crawler"]
c = 0 c = 0
for r in reg: for r in reg:
for q in aQuitar: for q in aQuitar:
if q in r.Host_Remoto.lower(): if q in r.Host_Remoto.lower() or q in r.Usuario.lower():
reg.pop(c) reg.pop(c)
c += 1 c += 1
MessageBox.showinfo("Resultado De-Spidering", "Se han suprimido "+str(longitudOriginal-len(reg))+" registros con comportamiento automatico")
return reg return reg
\ No newline at end of file
from tkinter import ttk
from tkinter import *
from Filtros import ordenarPorSesion
import operator
class TablaSesionesMenorTMedioPag:
def __init__(self, reg):
#reg=ordenarPorSesion(reg)
sesiones={}
c=0
sesionActual=reg[0].ID_Sesion
indicePrimero=0
while c < len(reg):
if sesionActual!=reg[c].ID_Sesion:
if indicePrimero!=c:
sesiones[sesionActual]=(reg[c].Marca_Tiempo-reg[indicePrimero].Marca_Tiempo)/(c-indicePrimero)
sesionActual=reg[c].ID_Sesion
indicePrimero=c
c+=1
sesiones = sorted(sesiones.items(), key=operator.itemgetter(1))
while len(sesiones) > 20: #se visualizan 20 sesiones
sesiones.pop()
self.v = Tk()
self.v.resizable(0, 0)
self.v.title("Sesiones con menor tiempo medio por pagina")
self.v.geometry('300x450')
# Creo la tabla y relleno las cabeceras
self.tabla = ttk.Treeview(self.v, height=100, columns=[f"#{n}" for n in range(2)])
scrollbar_vertical = ttk.Scrollbar(self.v, orient='vertical', command=self.tabla.yview)
scrollbar_horizontal = ttk.Scrollbar(self.v, orient='horizontal', command=self.tabla.xview)
scrollbar_vertical.pack(side='right', fill=Y)
scrollbar_horizontal.pack(side='bottom', fill=X)
self.tabla.configure(yscrollcommand=scrollbar_vertical.set)
self.tabla.pack(side=LEFT, fill=BOTH, expand=False)
self.tabla.config(show='headings')
self.v.update()
# Cabeceras tabla
self.tabla.heading('#1', text="Sesion")
self.tabla.column('#1', width=150, anchor=CENTER)
self.tabla.heading('#2', text="T.Medio")
self.tabla.column('#2', width=150, anchor=CENTER)
# Inserto los registros
self.tabla.delete(*self.tabla.get_children())
for i in range(len(sesiones)):
aux = [sesiones[i][0], sesiones[i][1]]
self.tabla.insert("", 'end', values=aux)
self.v.mainloop()
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