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:
return True
if self.Marca_Tiempo is None:
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:
return True
return False
......
......@@ -8,6 +8,7 @@ from GuiEstadisticas import estadisticasTMedioPag
from eliminarComportamientoAutomatico_GUI import FiltrarComportamientoAutomatico
from ObtenerMasVisitados import ObtenerMasVisitados
from DirectoriosMasSolicitados_GUI import DirectoriosMasSol
from TablaSesionesMenorTMedioPag import TablaSesionesMenorTMedioPag
from AnalisisDuracionSesion import estadisticasDuracionSesiones
from TablaExtFrec import TablaExtFrec
from Dato import Dato
......@@ -112,6 +113,11 @@ def extMasFrec():
if len(REG) > 0:
TablaExtFrec(REG)
def TablaSesionesMasCortas():
if len(REG) > 0:
TablaSesionesMenorTMedioPag(REG)
def barraMenu(ventana):
# DEFINIR BARRA DE MENÚ DE LA APLICACION:
barramenu = Menu(ventana)
......@@ -146,6 +152,9 @@ def barraMenu(ventana):
underline=0, compound=RIGHT)
menu2.add_command(label='Extensiones con mas ocurrencias', command=extMasFrec,
underline=0, compound=RIGHT)
menu2.add_command(label='Sesiones con menor tiempo medio', command=TablaSesionesMasCortas,
underline=0, compound=RIGHT)
menu3 = Menu(barramenu)
barramenu.add_cascade(menu=menu3, label='Cesta')
......
from Dato import Dato
from idsUsuarioSesion import identificaciones
from tkinter import *
from tkinter import messagebox as MessageBox
# Lee el fichero log
......@@ -80,11 +82,13 @@ def datoAdmitido(extensionesAdmitidas, extensionesNoAdmitidas, reg):
# Quita las entradas que pertenecen arañas, bots o crawler
def eSpidering(reg):
longitudOriginal=len(reg)
aQuitar = ["spider", "bot", "crawler"]
c = 0
for r in reg:
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)
c += 1
MessageBox.showinfo("Resultado De-Spidering", "Se han suprimido "+str(longitudOriginal-len(reg))+" registros con comportamiento automatico")
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