git pyfleet en gitea.xiberus

This commit is contained in:
2026-08-28 19:30:48 +02:00
commit 89992823b4
2133 changed files with 27616 additions and 0 deletions
Executable
+387
View File
@@ -0,0 +1,387 @@
navbar_vertical_CRUD/
├── app.py
├── nexus.db
└── templates/
├── base.html
├── index.html
├── explorar.html
├── contacto.html
└── campus/ ← esta carpeta debe existir aquí
├── list.html
└── form.html
pip install -r requirements.txt
python app.py
# → http://127.0.0.1:5000
PRODUCCION LINUX GUNICORN
pip install gunicorn
gunicorn app:app
gunicorn --bind 0.0.0.0:8000 app:app
gunicorn --workers 4 --bind 0.0.0.0:8000 app:app
gunicorn --workers 4 --bind 0.0.0.0:8000 --timeout 120 app:app
PRODUCCION WINDOWS WAITRESS
pip install waitress
waitress-serve --host=0.0.0.0 --port=8000 app:app
para Gunicorn
ps aux | grep gunicorn averigua el proceso que lo usa
kill 1337144 la primera de la lista
pkill -f "gunicorn.*app:app lo elimina de una sola vez
---------------------------------------------------------------
TABLAS
CREATE TABLE "vehiculos" (
"id" INTEGER,
"m_oficial" TEXT,
"m_civil" TEXT,
"m_propia" TEXT,
"VIN" TEXT,
"poliza" TEXT,
"viat" TEXT,
"legajo" TEXT,
"marca" TEXT,
"modelo" TEXT,
"tipo" TEXT,
"denominacion" TEXT,
"color" REAL,
"cilindrada" TEXT,
"potencia" TEXT,
"combustible" TEXT,
"neumaticos" TEXT,
"plazas" TEXT,
"lanzadestellos" INTEGER,
"situacion" TEXT,
"poblacion" TEXT,
"unidad" TEXT,
"grupo" TEXT,
"int_operacion" TEXT,
"int_grupo" TEXT,
"int_juzgado" TEXT,
"int_procedimiento" INTEGER,
"f_destino_situacion" INTEGER,
"f_alta" TEXT,
"f_baja" INTEGER,
"km" TEXT,
"km_1" TEXT,
"itv_ultima" INTEGER,
"itv" INTEGER,
"observaciones" TEXT,
"historial" TEXT,
"notas" TEXT,
PRIMARY KEY("id" AUTOINCREMENT)
)
-----------------------------------------
Cambiar None por Null table vehiculos
UPDATE vehiculos
SET
m_oficial = NULLIF(m_oficial, 'None'),
m_civil = NULLIF(m_civil, 'None'),
m_propia = NULLIF(m_propia, 'None'),
VIN = NULLIF(VIN, 'None'),
poliza = NULLIF(poliza, 'None'),
viat = NULLIF(viat, 'None'),
legajo = NULLIF(legajo, 'None'),
marca = NULLIF(marca, 'None'),
modelo = NULLIF(modelo, 'None'),
tipo = NULLIF(tipo, 'None'),
denominacion = NULLIF(denominacion, 'None'),
cilindrada = NULLIF(cilindrada, 'None'),
potencia = NULLIF(potencia, 'None'),
combustible = NULLIF(combustible, 'None'),
neumaticos = NULLIF(neumaticos, 'None'),
plazas = NULLIF(plazas, 'None'),
situacion = NULLIF(situacion, 'None'),
poblacion = NULLIF(poblacion, 'None'),
unidad = NULLIF(unidad, 'None'),
grupo = NULLIF(grupo, 'None'),
int_operacion = NULLIF(int_operacion, 'None'),
int_grupo = NULLIF(int_grupo, 'None'),
int_juzgado = NULLIF(int_juzgado, 'None'),
f_alta = NULLIF(f_alta, 'None'),
observaciones = NULLIF(observaciones, 'None'),
historial = NULLIF(historial, 'None'),
notas = NULLIF(notas, 'None');
UPDATE vehiculos
SET
m_oficial = REPLACE(m_oficial, 'None', ''),
m_civil = REPLACE(m_civil, 'None', ''),
m_propia = REPLACE(m_propia, 'None', ''),
VIN = REPLACE(VIN, 'None', ''),
poliza = REPLACE(poliza, 'None', ''),
viat = REPLACE(viat, 'None', ''),
legajo = REPLACE(legajo, 'None', ''),
marca = REPLACE(marca, 'None', ''),
modelo = REPLACE(modelo, 'None', ''),
tipo = REPLACE(tipo, 'None', ''),
denominacion = REPLACE(denominacion, 'None', ''),
cilindrada = REPLACE(cilindrada, 'None', ''),
potencia = REPLACE(potencia, 'None', ''),
combustible = REPLACE(combustible, 'None', ''),
neumaticos = REPLACE(neumaticos, 'None', ''),
plazas = REPLACE(plazas, 'None', ''),
situacion = REPLACE(situacion, 'None', ''),
poblacion = REPLACE(poblacion, 'None', ''),
unidad = REPLACE(unidad, 'None', ''),
grupo = REPLACE(grupo, 'None', ''),
int_operacion = REPLACE(int_operacion, 'None', ''),
int_grupo = REPLACE(int_grupo, 'None', ''),
int_juzgado = REPLACE(int_juzgado, 'None', ''),
f_alta = REPLACE(f_alta, 'None', ''),
observaciones = REPLACE(observaciones, 'None', ''),
historial = REPLACE(historial, 'None', ''),
notas = REPLACE(notas, 'None', '');
----------------
CREATE TABLE categorias (
id INTEGER PRIMARY KEY AUTOINCREMENT,
tipo TEXT NOT NULL UNIQUE
)
CREATE TABLE "historial" (
"id" INTEGER,
"matricula" TEXT,
"unidad" TEXT,
"fecha" TEXT,
"observaciones" TEXT,
PRIMARY KEY("id" AUTOINCREMENT)
)
CREATE TABLE "unidades" (
"unidad" TEXT
)
----------------------------------------
CONSULTAR TIPOS DE VEHICULO
SELECT DISTINCT tipo
FROM vehiculo
ORDER BY tipo;
Actualizar campo matrícula
UPDATE clientes
SET codigo = 'ABC' || codigo;
Si solo quieres hacerlo en los registros que todavía no empiezan por ABC:
UPDATE clientes
SET codigo = 'ABC' || codigo
WHERE codigo NOT LIKE 'ABC%';
Eliminar todos los guiones de un campo
SQLite dispone de la función REPLACE().
UPDATE clientes
SET codigo = REPLACE(codigo, '-', '');
También puedes combinar ambas operaciones
Si quieres quitar los guiones y luego añadir ABC:
UPDATE clientes
SET codigo = 'ABC' || REPLACE(codigo, '-', '');
---------------------------------------
CAMPOS BUSQUEDA VEHICULOS
m_oficial
m_civil
ppm
VIN
Marca
Modelo
Tipo
Población
Departamento
---------------------------------------
Consulta cambiar nombre a un campo
ALTER TABLE nombre_tabla
RENAME COLUMN nombre_antiguo TO nombre_nuevo;
Consulta sql unir campos observaciones e historial en nuevo campo notas.
ALTER TABLE vehiculos ADD COLUMN notas TEXT;
UPDATE vehiculos SET notas = TRIM(COALESCE(observaciones, '') || ' ' || COALESCE(historial, ''));
Consulta eliminar un campo (ejemplo img)
ALTER TABLE nombre_tabla
DROP COLUMN nombre_campo;
ALTER TABLE vehiculos
DROP COLUMN img;
(No se pueden eliminar dos o mas columnas a la vez)
Consulta eliminar guiones o puntos
UPDATE nombre_tabla
SET nombre_campo = REPLACE(nombre_campo, '.', '');
UPDATE nombre_tabla
SET nombre_campo = REPLACE(nombre_campo, '-', '');
UPDATE vehiculos
SET m_oficial = REPLACE(departamento, '.', '');
UPDATE vehiculos
SET departamento = REPLACE(departamento, '.', '');
De este modo solo se modificarán las filas cuyo campo contenga al menos un punto.
UPDATE vehiculos
SET matricula = REPLACE(matricula, '.', '')
WHERE matricula LIKE '%.%';
Actualización multiple
UPDATE vehiculos
SET
matricula = REPLACE(matricula, '.', ''),
bastidor = REPLACE(bastidor, '.', ''),
motor = REPLACE(motor, '.', '');
También puedes aplicar operaciones diferentes a cada campo:
UPDATE vehiculos
SET
matricula = REPLACE(matricula, '.', ''),
notas = TRIM(COALESCE(observaciones, '') || ' ' || COALESCE(historial, '')),
f_alta = '2025-01-01';
Y si solo quieres actualizar determinadas filas, añade una cláusula WHERE:
UPDATE vehiculos
SET
matricula = REPLACE(matricula, '.', ''),
bastidor = REPLACE(bastidor, '.', '')
WHERE id = 10;
ACTUALIZACION CON CRITERIOS
Comprobar antes:
SELECT *
FROM vehiculos
WHERE departamento = 'Seg Ciudadana' AND poblacion = 'VELEZ';
Ejecutar update:
UPDATE vehiculos
SET departamento = 'SC'
WHERE departamento = 'Seg Ciudadana' AND poblacion = 'VELEZ';
CREATE TABLE "historial" (
"id" INTEGER,
"vehiculo_id" INTEGER,
"fecha" TEXT,
"matricula" TEXT,
"situacion" TEXT,
"poblacion" TEXT,
"unidad" TEXT,
"grupo" TEXT,
"observaciones" TEXT,
PRIMARY KEY("id" AUTOINCREMENT),
FOREIGN KEY("vehiculo_id") REFERENCES "vehiculos"("id")
)
PRAGMA foreign_keys = OFF;
BEGIN TRANSACTION;
CREATE TABLE revisiones_nueva (
id INTEGER PRIMARY KEY,
vehiculo_id INTEGER NOT NULL,
fecha DATE,
observaciones TEXT,
FOREIGN KEY (vehiculo_id)
REFERENCES vehiculos(id)
ON UPDATE CASCADE
ON DELETE CASCADE
);
INSERT INTO revisiones_nueva (id, vehiculo_id, fecha, observaciones)
SELECT id, vehiculo_id, fecha, observaciones
FROM revisiones;
DROP TABLE revisiones;
ALTER TABLE revisiones_nueva RENAME TO revisiones;
COMMIT;
PRAGMA foreign_keys = ON;
—————————————
UPDATE historial
SET vehiculo_id = (
SELECT id
FROM vehiculos
WHERE vehiculos.m_oficial = historial.matricula
);
———————————————
SOBRE LA TABLA HISTÓRIAL
UPDATE historial
SET
poblacion_id = ‘1',
unidad = TRIM(REPLACE(unidad, 'MALAGA', ''))
WHERE unidad LIKE '%MALAGA%';
UPDATE unidades
SET
unidad = TRIM(REPLACE(unidad, 'MALAGA-', ''))
WHERE unidad LIKE '%MALAGA%';