improve readability, updt map_thumb
This commit is contained in:
parent
32943e40f1
commit
f8133c843b
108
iplocate.py
108
iplocate.py
@ -70,16 +70,7 @@ def filtro_ip_propia(ip):
|
|||||||
return True if ip != ownip and not local_ip(ip) else False
|
return True if ip != ownip and not local_ip(ip) else False
|
||||||
|
|
||||||
|
|
||||||
def print_ipinfo(ip, tkn=True):
|
def visita_como_lista(ip_info):
|
||||||
if valid_ip(ip):
|
|
||||||
try:
|
|
||||||
ip_info = sql_alch.consulta_ip(ip, tkn)
|
|
||||||
except Exception as ex:
|
|
||||||
print(f'Exception sql_alch.consulta_ip({ip})\n', ex)
|
|
||||||
ip_info = None
|
|
||||||
if isinstance(ip_info, dict):
|
|
||||||
print_tabla_ip(ip_info)
|
|
||||||
elif isinstance(ip_info, list):
|
|
||||||
lista_visitas = []
|
lista_visitas = []
|
||||||
contad = 0
|
contad = 0
|
||||||
for tupla in ip_info:
|
for tupla in ip_info:
|
||||||
@ -92,38 +83,52 @@ def print_ipinfo(ip, tkn=True):
|
|||||||
ip_dict[dato.split("=")[0]] = dato.split("=")[1]
|
ip_dict[dato.split("=")[0]] = dato.split("=")[1]
|
||||||
print_tabla_ip(ip_dict)
|
print_tabla_ip(ip_dict)
|
||||||
else:
|
else:
|
||||||
visita.append(str(val).split(',')[3].split('=')[1]) # .ljust(24))
|
visita.append(str(val).split(',')[3].split('=')[1])
|
||||||
visita.append(str(val).split(',')[2].split('=')[1]) # .center(11))
|
visita.append(str(val).split(',')[2].split('=')[1])
|
||||||
metodo = (str(val).split(',')[4].split('=')[1])
|
metodo = (str(val).split(',')[4].split('=')[1])
|
||||||
metodo = '---' if metodo == 'None' else metodo # .center(10)
|
metodo = '---' if metodo == 'None' else metodo
|
||||||
visita.append(metodo)
|
visita.append(metodo)
|
||||||
request = ''.join(str(val).split(',')[5].split('=')[1:])
|
request = ''.join(str(val).split(',')[5].split('=')[1:])
|
||||||
# configurar wrap en tabla
|
|
||||||
# request = request[:86]+'...' if len(request) > 90 else request
|
|
||||||
request = '---' if request == 'None' else request
|
request = '---' if request == 'None' else request
|
||||||
visita.append(request)
|
visita.append(request)
|
||||||
else:
|
else:
|
||||||
for ind, val in enumerate(tupla):
|
for ind, val in enumerate(tupla):
|
||||||
if ind > 0:
|
if ind > 0:
|
||||||
# aqui modificar para representar las nuevas columnas de tabla visita
|
visita.append(str(val).split(',')[3].split('=')[1])
|
||||||
visita.append(str(val).split(',')[3].split('=')[1]) #.ljust(24)
|
visita.append(str(val).split(',')[2].split('=')[1])
|
||||||
visita.append(str(val).split(',')[2].split('=')[1]) #.center(11)
|
|
||||||
metodo = (str(val).split(',')[4].split('=')[1])
|
metodo = (str(val).split(',')[4].split('=')[1])
|
||||||
metodo = '---' if metodo == 'None' else metodo #.center(10)
|
metodo = '---' if metodo == 'None' else metodo
|
||||||
visita.append(metodo)
|
visita.append(metodo)
|
||||||
request = ''.join(str(val).split(',')[5].split('=')[1:])
|
request = ''.join(str(val).split(',')[5].split('=')[1:])
|
||||||
# configurar wrap en tabla
|
|
||||||
# request = request[:86]+'...' if len(request) > 90 else request
|
|
||||||
request = '---' if request == 'None' else request
|
request = '---' if request == 'None' else request
|
||||||
visita.append(request)
|
visita.append(request)
|
||||||
lista_visitas.append(visita)
|
lista_visitas.append(visita)
|
||||||
contad += 1
|
contad += 1
|
||||||
print_tabla_visita(lista_visitas)
|
return lista_visitas
|
||||||
|
|
||||||
|
|
||||||
|
def print_ipinfo(ip, tkn=True):
|
||||||
|
if valid_ip(ip):
|
||||||
|
try:
|
||||||
|
ip_info = sql_alch.consulta_ip(ip, tkn)
|
||||||
|
except Exception as ex:
|
||||||
|
print(f'Exception sql_alch.consulta_ip({ip})\n', ex)
|
||||||
|
ip_info = None
|
||||||
|
if isinstance(ip_info, dict):
|
||||||
|
print_tabla_ip(ip_info)
|
||||||
|
elif isinstance(ip_info, list):
|
||||||
|
print_tabla_visita(visita_como_lista(ip_info))
|
||||||
else:
|
else:
|
||||||
console.print(f'[red]Error type(ip_info) = [/red][magenta]{type(ip_info)}[/magenta][red]][/red]')
|
console.print(
|
||||||
|
'[red]Error type(ip_info) = [/red][magenta]'
|
||||||
|
f'{type(ip_info)}[/magenta][red]][/red]'
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
ipr = ip.split('\n')[0]
|
ipr = ip.split('\n')[0]
|
||||||
console.print(f'[red][[/red][magenta]{ipr}[/magenta][red]] no es una IP válida![/red]')
|
console.print(
|
||||||
|
f'[red][[/red][magenta]{ipr}[/magenta][red]]'
|
||||||
|
'no es una IP válida![/red]'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def print_tabla_ip(ip_info):
|
def print_tabla_ip(ip_info):
|
||||||
@ -175,11 +180,14 @@ def print_tabla_ip(ip_info):
|
|||||||
|
|
||||||
|
|
||||||
def print_tabla_visita(lista_visitas):
|
def print_tabla_visita(lista_visitas):
|
||||||
tbl_v = Table(box=box.ROUNDED, show_lines=False, row_styles=["dim", ""], border_style="dark_orange3")
|
tbl_v = Table(box=box.ROUNDED, show_lines=False, row_styles=[
|
||||||
tbl_v.add_column("Fecha visita", justify="center", style="bright_yellow", no_wrap=True)
|
"dim", ""], border_style="dark_orange3")
|
||||||
|
tbl_v.add_column("Fecha visita", justify="center",
|
||||||
|
style="bright_yellow", no_wrap=True)
|
||||||
tbl_v.add_column("Codigo", justify="center", style="bold dodger_blue2")
|
tbl_v.add_column("Codigo", justify="center", style="bold dodger_blue2")
|
||||||
tbl_v.add_column("Metodo", justify="center", style="bright_magenta")
|
tbl_v.add_column("Metodo", justify="center", style="bright_magenta")
|
||||||
tbl_v.add_column("Request", justify="left", style="#00ff5f", overflow='fold', no_wrap=False)
|
tbl_v.add_column("Request", justify="left", style="#00ff5f",
|
||||||
|
overflow='fold', no_wrap=False)
|
||||||
for item in lista_visitas:
|
for item in lista_visitas:
|
||||||
tbl_v.add_row(item[0], item[1], item[2], item[3])
|
tbl_v.add_row(item[0], item[1], item[2], item[3])
|
||||||
|
|
||||||
@ -196,7 +204,8 @@ def archivo_ips(ips, tkn=True):
|
|||||||
|
|
||||||
|
|
||||||
def _sync():
|
def _sync():
|
||||||
console.print('[bold yellow]Sincronizando logs del servidor(bash script)[/bold yellow]')
|
console.print(
|
||||||
|
'[bold yellow]Sincronizando logs del servidor(bash script)[/bold yellow]')
|
||||||
subprocess.check_call(muevelog+"%s" % "--start", shell=True)
|
subprocess.check_call(muevelog+"%s" % "--start", shell=True)
|
||||||
|
|
||||||
|
|
||||||
@ -206,26 +215,33 @@ def main():
|
|||||||
match sys.argv[1]:
|
match sys.argv[1]:
|
||||||
case '--all':
|
case '--all':
|
||||||
_sync()
|
_sync()
|
||||||
console.print('[bold yellow]Cargando logs en base de datos[/bold yellow]\n')
|
console.print(
|
||||||
|
'[bold yellow]Cargando logs en base de datos[/bold yellow]\n')
|
||||||
sql_alch.carga_logs()
|
sql_alch.carga_logs()
|
||||||
console.print('[bold yellow]Registro de datos de ipinfo[/bold yellow]')
|
console.print(
|
||||||
|
'[bold yellow]Registro de datos de ipinfo[/bold yellow]')
|
||||||
sql_alch.registro_ips()
|
sql_alch.registro_ips()
|
||||||
console.print('[bold yellow]Generando mapa de visitas[/bold yellow]')
|
console.print(
|
||||||
|
'[bold yellow]Generando mapa de visitas[/bold yellow]')
|
||||||
sql_alch.mapsgen()
|
sql_alch.mapsgen()
|
||||||
case '--sync':
|
case '--sync':
|
||||||
_sync()
|
_sync()
|
||||||
case '-c':
|
case '-c':
|
||||||
console.print('[bold yellow]Cargando logs en base de datos[/bold yellow]\n')
|
console.print(
|
||||||
|
'[bold yellow]Cargando logs en base de datos[/bold yellow]\n')
|
||||||
sql_alch.carga_logs()
|
sql_alch.carga_logs()
|
||||||
case '-g':
|
case '-g':
|
||||||
console.print('[bold yellow]Registro de datos de ipinfo[/bold yellow]')
|
console.print(
|
||||||
|
'[bold yellow]Registro de datos de ipinfo[/bold yellow]')
|
||||||
sql_alch.registro_ips()
|
sql_alch.registro_ips()
|
||||||
case '-d':
|
case '-d':
|
||||||
console.print('[bold yellow]Consulta a base de datos:[/bold yellow]')
|
console.print(
|
||||||
|
'[bold yellow]Consulta a base de datos:[/bold yellow]')
|
||||||
ip = sys.argv[2]
|
ip = sys.argv[2]
|
||||||
print_ipinfo(ip, None)
|
print_ipinfo(ip, None)
|
||||||
case '-D':
|
case '-D':
|
||||||
console.print('[bold yellow]Consulta por archivo a base de datos:[/bold yellow]')
|
console.print(
|
||||||
|
'[bold yellow]Consulta por archivo a base de datos:[/bold yellow]')
|
||||||
if isfile(sys.argv[2]):
|
if isfile(sys.argv[2]):
|
||||||
archivo_ips(sys.argv[2], None)
|
archivo_ips(sys.argv[2], None)
|
||||||
else:
|
else:
|
||||||
@ -256,7 +272,8 @@ def main():
|
|||||||
ip = sys.argv[2]
|
ip = sys.argv[2]
|
||||||
print_ipinfo(ip)
|
print_ipinfo(ip)
|
||||||
case '-M':
|
case '-M':
|
||||||
console.print('[bold yellow]Generando mapa de visitas[/bold yellow]')
|
console.print(
|
||||||
|
'[bold yellow]Generando mapa de visitas[/bold yellow]')
|
||||||
sql_alch.mapsgen()
|
sql_alch.mapsgen()
|
||||||
case '-q':
|
case '-q':
|
||||||
match sys.argv[2]:
|
match sys.argv[2]:
|
||||||
@ -269,20 +286,25 @@ def main():
|
|||||||
case '--pais-desde':
|
case '--pais-desde':
|
||||||
pais = sys.argv[3]
|
pais = sys.argv[3]
|
||||||
fecha_local = sys.argv[4]
|
fecha_local = sys.argv[4]
|
||||||
fecha_unix = sql_alch.fecha_error_to_epoch(sys.argv[4]+' 00:00:00')
|
fecha_unix = sql_alch.fecha_error_to_epoch(
|
||||||
querys.pt_sel_pais_fecha(pais.upper(), fecha_unix, fecha_local)
|
sys.argv[4]+' 00:00:00')
|
||||||
|
querys.pt_sel_pais_fecha(
|
||||||
|
pais.upper(), fecha_unix, fecha_local)
|
||||||
case '--detalle-pais':
|
case '--detalle-pais':
|
||||||
pais = sys.argv[3]
|
pais = sys.argv[3]
|
||||||
if len(sys.argv) > 4:
|
if len(sys.argv) > 4:
|
||||||
if sys.argv[4].isnumeric():
|
if sys.argv[4].isnumeric():
|
||||||
codigo = sys.argv[4]
|
codigo = sys.argv[4]
|
||||||
querys.pt_visita_pais_detalle(pais.upper(), codigo)
|
querys.pt_visita_pais_detalle(
|
||||||
|
pais.upper(), codigo)
|
||||||
else:
|
else:
|
||||||
console.print(f'[magenta]-q --detalle-pais <pais> [/magenta][red][bold]<CODIGO> inválido ({sys.argv[4]})[/bold][/red]')
|
console.print(
|
||||||
|
f'[magenta]-q --detalle-pais <pais> [/magenta][red][bold]<CODIGO> inválido ({sys.argv[4]})[/bold][/red]')
|
||||||
else:
|
else:
|
||||||
querys.pt_visita_pais_detalle(pais.upper())
|
querys.pt_visita_pais_detalle(pais.upper())
|
||||||
case _:
|
case _:
|
||||||
console.print(f'[red] query desconocida [bold]{sys.argv[2]}[/bold][/red]')
|
console.print(
|
||||||
|
f'[red] query desconocida [bold]{sys.argv[2]}[/bold][/red]')
|
||||||
case _:
|
case _:
|
||||||
ip = sys.argv[1]
|
ip = sys.argv[1]
|
||||||
print_ipinfo(ip, False)
|
print_ipinfo(ip, False)
|
||||||
@ -303,7 +325,7 @@ def main():
|
|||||||
|
|
||||||
|
|
||||||
def uso_consultas():
|
def uso_consultas():
|
||||||
ayuda = f"""
|
ayuda = """
|
||||||
[bold blue]ipLocate[/bold blue]
|
[bold blue]ipLocate[/bold blue]
|
||||||
|
|
||||||
[deep_sky_blue1]Reportes según consultas a base de datos.
|
[deep_sky_blue1]Reportes según consultas a base de datos.
|
||||||
@ -321,7 +343,7 @@ def uso_consultas():
|
|||||||
|
|
||||||
|
|
||||||
def uso():
|
def uso():
|
||||||
ayuda = f"""
|
ayuda = """
|
||||||
[bold blue]ipLocate[/bold blue]
|
[bold blue]ipLocate[/bold blue]
|
||||||
|
|
||||||
[deep_sky_blue1]Consulta en ipinfo.io (con o sin token) información sobre IP(s).
|
[deep_sky_blue1]Consulta en ipinfo.io (con o sin token) información sobre IP(s).
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 279 KiB |
Loading…
Reference in New Issue
Block a user