ed: -q --detalle-pais <pais> opc. <codigo_html>
This commit is contained in:
parent
953fc4afc8
commit
4ba222018f
@ -10,20 +10,30 @@ conn = sqlite3.connect(f'{selfpath}/../ipinfo.db')
|
|||||||
c = conn.cursor()
|
c = conn.cursor()
|
||||||
|
|
||||||
# Detalle Visitas por pais
|
# Detalle Visitas por pais
|
||||||
def vistas_pais_detalle(pais):
|
def vistas_pais_detalle(pais, codigo=''):
|
||||||
pais = pais
|
if codigo == '':
|
||||||
consulta = f"""
|
consulta = f"""
|
||||||
SELECT DATE(fecha, 'unixepoch') AS fecha_local, ip, metodo, cod_html, consulta
|
SELECT DATE(fecha, 'unixepoch') AS fecha_local, ip, metodo, cod_html, consulta
|
||||||
FROM visita WHERE ip IN (SELECT `ip` FROM `registro` WHERE `pais` = '{pais}');
|
FROM visita WHERE ip IN (SELECT `ip` FROM `registro` WHERE `pais` = '{pais}');
|
||||||
"""
|
"""
|
||||||
|
else:
|
||||||
|
consulta = f"""
|
||||||
|
SELECT DATE(fecha, 'unixepoch') AS fecha_local, ip, metodo, cod_html, consulta
|
||||||
|
FROM visita WHERE ip IN (SELECT `ip` FROM `registro` WHERE `pais` = '{pais}')
|
||||||
|
and cod_html = '{codigo}';
|
||||||
|
"""
|
||||||
c.execute(consulta)
|
c.execute(consulta)
|
||||||
resp = c.fetchall()
|
resp = c.fetchall()
|
||||||
return resp
|
return resp
|
||||||
|
|
||||||
def pt_visita_pais_detalle(pais):
|
def pt_visita_pais_detalle(pais, codigo=''):
|
||||||
respuesta = vistas_pais_detalle(pais)
|
respuesta = vistas_pais_detalle(pais, codigo)
|
||||||
|
if codigo != '':
|
||||||
|
titulo = f"[bold][blue]Detalle visitas pais: [yellow]{pais}[blue] respuesta [/blue][yellow]{codigo}[/bold][yellow]"
|
||||||
|
else:
|
||||||
|
titulo = f"[bold][blue]Detalle visitas pais: [/blue][yellow]{pais}[/yellow][/bold]"
|
||||||
tbl_v = Table(
|
tbl_v = Table(
|
||||||
title=f"[bold][blue]Detalle visitas pais: [/blue][yellow]{pais}[/yellow][/bold]",
|
title=titulo,
|
||||||
box = box.ROUNDED,
|
box = box.ROUNDED,
|
||||||
show_lines = False,
|
show_lines = False,
|
||||||
row_styles=["dim", ""],
|
row_styles=["dim", ""],
|
||||||
|
28
iplocate.py
28
iplocate.py
@ -237,14 +237,21 @@ def main():
|
|||||||
querys.pt_sel_pais_fecha(pais.upper(), fecha_unix, fecha_local)
|
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 sys.argv[4].isnumeric():
|
||||||
|
codigo = sys.argv[4]
|
||||||
|
querys.pt_visita_pais_detalle(pais.upper(), codigo)
|
||||||
|
else:
|
||||||
|
console.print(f'[magenta]-q --detalle-pais <pais> [/magenta][red][bold]<CODIGO> inválido ({sys.argv[4]})[/bold][/red]')
|
||||||
|
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)
|
||||||
except IndexError:
|
except IndexError as ex:
|
||||||
console.print('[red] error sys.args! [/red]')
|
console.print('[red] error sys.args! [/red]', ex)
|
||||||
finally:
|
finally:
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
@ -263,13 +270,16 @@ def uso_consultas():
|
|||||||
ayuda = f"""
|
ayuda = f"""
|
||||||
[bold blue]ipLocate[/bold blue]
|
[bold blue]ipLocate[/bold blue]
|
||||||
|
|
||||||
[deep_sky_blue1]Reportes según consultas a base de datos.[/deep_sky_blue1]
|
[deep_sky_blue1]Reportes según consultas a base de datos.
|
||||||
|
|
||||||
[bold blue]Consultas a base de datos:[/bold blue]
|
Uso: [deep_sky_blue1][bold][yellow]iploc -q[/yellow][blue] <consulta>[/bold][/blue]
|
||||||
[bold yellow]iploc -q -p[/bold yellow] [blue]<pais>[/blue] [green]- Conteo de respuestas html para <pais> (ejs. CL AR)[/green]
|
|
||||||
[bold yellow]iploc -q --top [/bold yellow][blue]<n>[/blue] [green]- Visitas top <n> paises[/green]
|
[deep_sky_blue1]Consultas a base de datos:[deep_sky_blue1]
|
||||||
[bold yellow]iploc -q --detalle-pais[/bold yellow][blue] <pais>[/blue] [green]- Muestra al detalle las visitas desde <pais>[/green]
|
[bold yellow]-p[/bold yellow] [blue]<pais>[/blue] [green]- Conteo de respuestas html para <pais> (ejs. CL AR)[/green]
|
||||||
[bold yellow]iploc -q --pais-desde[/bold yellow][blue] <pais> <fecha>[/blue] [green]- Detalle visitas <pais> desde <fecha> (ej. 2022/9/19)[/green]
|
[bold yellow]--top [/bold yellow][blue]<n>[/blue] [green]- Visitas top <n> paises[/green]
|
||||||
|
[bold yellow]--pais-desde[/bold yellow][blue] <pais> <fecha>[/blue] [green]- Detalle visitas <pais> desde <fecha> (ej. 2022/9/19)[/green]
|
||||||
|
[bold yellow]--detalle-pais[/bold yellow][blue] <pais> opc(<cod>)[/blue] [green] - Muestra al detalle las visitas desde <pais>,
|
||||||
|
filtro por codigo opcional.[/green]
|
||||||
"""
|
"""
|
||||||
console.print(ayuda)
|
console.print(ayuda)
|
||||||
|
|
||||||
@ -279,7 +289,7 @@ def uso():
|
|||||||
|
|
||||||
[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).
|
||||||
Carga logs de nginx en base de datos.
|
Carga logs de nginx en base de datos.
|
||||||
Consulta con ipinfo.io y registra en base de datos.
|
Consulta en ipinfo.io y registra en base de datos.
|
||||||
Consultas y reportes según información en la base de datos.[/deep_sky_blue1]
|
Consultas y reportes según información en la base de datos.[/deep_sky_blue1]
|
||||||
|
|
||||||
[bold yellow]iploc -h[/bold yellow] [green]- Muestra esta ayuda.[/green]
|
[bold yellow]iploc -h[/bold yellow] [green]- Muestra esta ayuda.[/green]
|
||||||
|
Loading…
Reference in New Issue
Block a user