Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Miguel Ángel González Gallardo
/
AnalizadorLogs
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
57cc6dd8
authored
Mar 23, 2021
by
Juan Santos Poyato
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Preprocesamiento terminado
parent
a9beee39
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
19 deletions
codigo/Cesta.py
codigo/Gestor.py
codigo/__pycache__/Cesta.cpython-39.pyc
codigo/Cesta.py
View file @
57cc6dd8
class
Cesta
:
def
__init__
(
self
,
registros
,
directorios
):
def
__init__
(
self
,
directorios
,
sesiones
,
tam
,
i
):
# Atributos
self
.
sesion
=
None
self
.
pagina
=
None
self
.
sesion
=
sesiones
[
i
]
self
.
pagina
=
directorios
[
i
]
self
.
directorios
=
directorios
self
.
flags
=
None
self
.
flags
=
[]
self
.
obtenerFlags
(
sesiones
,
tam
)
def
obtenerFlags
(
self
,
sesiones
,
tam
):
# Se rellenan los flags segun si son de la misma sesion o no para cada directorio
for
i
in
range
(
tam
):
if
sesiones
[
i
]
==
self
.
sesion
:
# Hay que obtener distribuciones de frecuencia aquí o no ############################3
self
.
flags
.
append
(
True
)
else
:
self
.
flags
.
append
(
False
)
# Se obtienen los directorios aquellos que cumplen el umbral
def
obtenerDirectorios
(
registros
,
umbral
):
directorios
=
[]
contadores
=
[]
sesiones
=
[]
# Obtenemos los registros diferentes con sus contadores
for
r
in
registros
:
if
r
.
url
not
in
directorios
:
directorios
.
append
(
r
.
url
)
contadores
.
append
(
1
)
sesiones
.
append
(
r
.
idSesion
)
else
:
pos
=
directorios
.
index
(
r
.
url
)
contadores
[
pos
]
+=
1
directorios
,
contadores
=
quitarExcluidos
(
directorios
,
contador
es
,
umbral
)
directorios
,
contadores
,
sesiones
=
quitarExcluidos
(
directorios
,
contadores
,
sesion
es
,
umbral
)
return
directorios
,
contadores
return
directorios
,
contadores
,
sesiones
# Se quitan los directorios que no vamos a incluir
def
quitarExcluidos
(
directorios
,
contadores
,
umbral
):
def
quitarExcluidos
(
directorios
,
contadores
,
sesiones
,
umbral
):
excluidos
=
[]
# Indicamos aquellas que no superan el umbral
...
...
@@ -41,13 +53,28 @@ def quitarExcluidos(directorios, contadores, umbral):
for
i
in
excluidos
:
directorios
.
pop
(
i
-
sacados
)
contadores
.
pop
(
i
-
sacados
)
sesiones
.
pop
(
i
-
sacados
)
sacados
+=
1
return
directorios
,
contadores
return
directorios
,
contadores
,
sesiones
# Se obtiene la cesta transformada final
def
obtenerCestaTransformada
(
registros
,
directorios
):
# Se obtiene la cesta transformada final con toda la informacion de cada pagina
def
obtenerCestaTransformada
(
directorios
,
sesiones
):
tam
=
len
(
directorios
)
cesta
=
[]
print
(
"Bro"
)
# Se generan todas las variables
for
i
in
range
(
tam
):
cesta
.
append
(
Cesta
(
directorios
,
sesiones
,
tam
,
i
))
# Se reducen a una por sesion
sesionesUsadas
=
[]
for
c
in
cesta
:
if
c
.
sesion
not
in
sesionesUsadas
:
# Si no ha sido escogida todavía, se usa
sesionesUsadas
.
append
(
c
.
sesion
)
else
:
# Si no se elimina
cesta
.
remove
(
c
)
return
cesta
codigo/Gestor.py
View file @
57cc6dd8
...
...
@@ -11,9 +11,9 @@ FACTOR_UMBRAL = 0.5
def
printRegistro
(
registros
):
print
(
"R
esultados
: "
)
print
(
"R
ESULTADOS
: "
)
informe
=
(
" - R
egistro
{} -
\n
Host Remoto: {}
\n
Fecha: {}
\n
Metodo de Petición: {}
\n
URL: {}
\n
Protocolo: {}
\n
Status Code: {}
\n
"
" - R
EGISTRO
{} -
\n
Host Remoto: {}
\n
Fecha: {}
\n
Metodo de Petición: {}
\n
URL: {}
\n
Protocolo: {}
\n
Status Code: {}
\n
"
"Volumen de Transferencia: {}Marca de Tiempo: {}
\n
Id Usuario: {}
\n
Id Sesion: {}
\n
"
)
...
...
@@ -26,11 +26,9 @@ def printRegistro(registros):
def
printDirectorios
(
d
,
cont
,
num_dir
,
num_reg
):
print
(
"D
irectorios más solicitados
: "
)
print
(
"D
IRECTORIOS MÁS SOLICITADOS (<0.5
%
)
: "
)
barra
=
"="
informe
=
(
" - VALOR {} -
\n
Directorio: {}
\n
P(
%
): {}
\n
Cuenta: {}
\n
Proporción: [{}]
\n
"
)
informe
=
(
" - VALOR {} -
\n
Directorio: {}
\n
P(
%
): {}
\n
Cuenta: {}
\n
Proporción: [{}]
\n
"
)
# Se imprime el total de directorios incluidos
total
=
0
...
...
@@ -46,7 +44,15 @@ def printDirectorios(d, cont, num_dir, num_reg):
print
(
informe
.
format
(
i
+
1
,
d
[
i
],
'
%.2
f'
%
(
c
*
100
/
num_reg
),
c
,
barra
))
def
printCestaTransformada
(
c
):
def
printCestaTransformada
(
cesta
):
print
(
"CESTA TRANSFORMADA: "
)
informe
=
(
"Sesion: {}
\n
Pagina: {}
\n
"
)
flags
=
(
"{}: {}"
)
for
c
in
cesta
:
print
(
informe
.
format
(
c
.
sesion
,
c
.
pagina
))
for
i
in
range
(
len
(
c
.
directorios
)):
print
(
flags
.
format
(
c
.
directorios
[
i
],
c
.
flags
[
i
]))
return
...
...
@@ -57,10 +63,10 @@ printRegistro(r)
# Se obtienen los directorios con contadores y la cesta
umbral
=
int
(
num_reg
*
FACTOR_UMBRAL
/
100
)
d
,
cont
=
obtenerDirectorios
(
r
,
umbral
)
d
,
cont
,
ses
=
obtenerDirectorios
(
r
,
umbral
)
num_dir
=
len
(
d
)
printDirectorios
(
d
,
cont
,
num_dir
,
num_reg
)
# Obtiene cesta transformada y la muestra
cesta
=
obtenerCestaTransformada
(
r
,
d
)
cesta
=
obtenerCestaTransformada
(
d
,
ses
)
printCestaTransformada
(
cesta
)
codigo/__pycache__/Cesta.cpython-39.pyc
View file @
57cc6dd8
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment