- El botón «Calcular» (y «Reanudar» la cola, y «Volver a pintar») quedaba deshabilitado para siempre tras
la primera vez: al cambiar de carpeta «Qué va a pasar» no calculaba nada.
- «material» suelto ya no ignora una carpeta; «No tocar» es un banco de material: los temas se quedan y,
dentro, las grabaciones van por fecha y cámara, todo sin marcar.
- «Hacer de una vez» y la pasada de la noche ya no mueven basura ni proxies sin marcar; un proxy sin su
original va sin marcar.
- «Qué pesa» entra nivel a nivel con el detalle de cada carpeta; repetidos, plan e Inicio mucho más rápidos;
aviso cuando el tipo de trabajo de la carpeta no es el del cliente.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Las grabaciones van siempre a su día de rodaje y dentro a una carpeta por fuente; el DJI Mic, la Tascam y
las Zoom se reconocen por su nombre y van a DJI_MIC, TASCAM y ZOOM en vez de caer juntas en AUDIO. El plan
repasa lo ya ordenado sin carpeta de día o con la grabadora en AUDIO. «Mapa» pasa a «Organizar carpetas»:
el árbol salía en fila por una regla CSS del ejemplo de tipo de trabajo; ahora va en vertical a toda la
altura y a la derecha, fijos, «Qué va en esta carpeta» y «¿Dónde va a parar este archivo?».
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Munka vio el desplegable con las cuatro frases largas y preguntó si se podía presentar mejor.
Ahora las cuatro clases están a la vista, cada una con su título, cómo se ordena y los clientes
que ya van así («como David Reyes, Danney Gómez, Andrea Galeano y 3 más»): se elige por parecido.
Debajo, el ejemplo deja de ser una lista de rutas completas y pasa a ser un árbol: el año y el
mes salen una sola vez, como en el Explorador, y cada carpeta lleva al lado qué guarda.
Los textos de reglas.py quedan como «título · cómo se ordena», sin el «Le hago», para que sirvan
tanto en las tarjetas como en el selector del Mapa y en Ajustes.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Las cuatro funciones que eligió Munka tras la 3.2.0:
- Nueva pieza: crea «NN- Título» en su mes con el número que toca y sus subcarpetas; si la
pieza ya existe, lo dice. Se deshace mientras siga vacía.
- Bandeja de entrada: lo que se deje en _Entrada se reparte por mes, día de rodaje y cámara.
«Traer material» copia una tarjeta comprobando cada archivo (se vuelve a leer y se compara
la huella), conserva la fecha del rodaje y no toca el origen.
- Versiones del mismo clip: dos clips de cámara que se llaman igual, duran lo mismo y tienen
la misma forma son el mismo clip; se queda el de más imagen y el otro va a Duplicados.
- Orden automático, apagado de fábrica: una tarea del Programador de tareas de Windows lanza
«automatico», que lee todas las carpetas y hace solo lo seguro. No toca una carpeta que no
se pueda leer entera ni una cuyo plan mueva más de 3.000 archivos, y si el programa ya está
abierto se lo pide a él. Desinstalar quita la tarea.
De paso: una ruta que empieza por guion bajo ya no pierde el guion al ir a la papelera.
Pruebas: prueba_orden.py 24, probar.py 19, prueba_funcional.py 29, prueba_ventana.py 18
desde el código y 17 con el paquete.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Medido sobre una carpeta de cliente real (8.207 archivos, 920 GB) antes de tocar nada:
- «Por nombrar» solo pregunta por lo que el plan llega a ver y no sabe resolver; ya no por las
carpetas de la app ni por lo de dentro de la papelera. Lo aprendido vale por el nombre entero.
- Una carpeta es una grabación por lo que tiene dentro: una pieza montada no se desarma, y lo
que no es rodaje no acaba en 00_Grabacion\OTROS. Se conserva el nombre de cada sesión.
- Una carpeta que guarda meses o años dentro se abre y cada cosa va a su mes; si la pieza ya
existe allí, se junta con ella.
- Repaso de lo ya ordenado: lo que está en un mes que no es el de su rodaje vuelve al suyo.
- El año de un clip de Blackmagic sale de los demás clips de su tarjeta y día; un rodaje que
pasa de medianoche cuenta como uno.
- Un clip convertido sigue siendo de su cámara, y el convertidor no repite lo que ya convirtió.
- «Exportados» junto a «_Exportados» y «_Papelera» junto a «_Para borrar» se juntan.
- «Hacer de una vez» solo mueve lo marcado; lo dudoso que queda no cuenta como pendiente.
- El inventario lleva la versión de las reglas: uno anterior pide escanear otra vez.
Pruebas: prueba_orden.py (nueva, 19 casos), probar.py 19, prueba_funcional.py 26,
prueba_ventana.py 18 desde el código y 17 con el paquete.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
El año y el mes salían de la fecha de cada archivo desde 2.2.0, pero dentro
del mes iba todo junto: en Camilo, 13 días de rodaje y 907 archivos en la
misma carpeta.
- Nueva variable {dia} («15- Viernes», como los meses) en las plantillas de
grabación de los cuatro tipos de trabajo, con migración de las guardadas.
- Plan._dias_de_rodaje() cuenta los días distintos por mes y dia_de()
devuelve "" cuando el mes tuvo un solo rodaje: la carpeta del día solo
aparece donde hace falta. David Reyes la necesita en 1 de 8 meses,
Danney en 36 de 57, Camilo en 12 de 26. 186 grupos, cero colisiones.
- Un archivo de cámara suelto también se archiva por su propia fecha:
plan_archivo hacía «if mes: fm = mes» y se saltaba la regla de 2.2.0.
- «¿Dónde va a parar este archivo?» dice también el día.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Cada carpeta lleva el color de lo que guarda (R.COLOR_CUBETA). Lo que
cuelga de una carpeta con color hereda el suyo; una que mezcla tipos se
queda neutra.
- «¿Dónde va a parar este archivo?»: donde_iria() resuelve cualquier nombre
con el mismo clasificador del escaneo y el árbol enciende el destino.
Debajo, nombres de archivo de verdad de la carpeta conectada.
- Renombrar una carpeta del árbol cambia TODAS las plantillas que pasan por
ella (00_Grabacion arrastra a CELULAR) y, si se pide, las carpetas que ya
existen en el disco; queda en la bitácora y se deshace.
- {anio} y {mes} dejan de encajar con cualquier carpeta: solo con algo que
parezca un año o un mes.
- Colores en el Explorador: .ico generados sin dependencias y asignados con
SHGetSetFolderCustomSettings, la misma API de «Cambiar icono». Escribir el
desktop.ini a mano NO basta, y SHGetFileInfo no sirve para comprobarlo:
no informa de la personalización ni cuando la puso el propio Explorador.
Ruta de icono relativa, así que los colores viajan con el disco. Si el
disco no deja marcar la carpeta, se dice y no se deja nada escrito.
- .organilab no se escanea y los desktop.ini de la app no son basura.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Tres cosas para la reorganización, pedidas juntas.
Proyectos por programa: la plantilla pasa de 01_Proyectos/{nombre} a
01_Proyectos/{app}/{nombre}, con {app} = el programa que abre el archivo
(R.APPS_PROYECTO, R.app_proyecto). Lo que ya viene en su propia carpeta se
queda con el nombre de esa carpeta; lo que se separa es lo suelto. Las
plantillas guardadas se migran solas si nadie las tocó. Entran extensiones
que caían en «otro»: .sesx, .c4d, .blend, .motn, .aepx, .aet, .prel, .idml,
.psdt, .afpub.
Carpetas vacías: carpetas_vacias() las encuentra desde el inventario y las
comprueba en el disco; borrar_vacias() las quita. Es lo único que la app
borra, y solo porque no hay nada dentro: cada una queda en la bitácora como
rmdir y Deshacer las vuelve a crear con su nombre y en el inventario. No
entra en «Hacer las N de una vez». 29 huecos en David Reyes, 40 en N:.
Mapa: pestaña nueva con el árbol que producen las plantillas de verdad
(mapa_estructura, GET /api/estructura). Al tocar una carpeta dice qué guarda
—derivado de ROL_A_CUBETA y ROL_QUE—, cuánto hay hoy, y deja cambiar el
destino ahí mismo. POST /api/plantillas pasa a fusionar cubeta a cubeta:
guardar una sola plantilla borraba las otras diecinueve.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
«Cliente» y «Tipo» no decían para qué servían ni qué iba a pasar al confirmar,
y el tipo se describía por a quién se le hace en vez de por cómo queda ordenado.
- Cada campo es una pregunta con una línea debajo que dice qué hace.
- Debajo se ven, armadas con la plantilla de verdad (ESTADO.plantillas), las
cuatro carpetas donde va a guardar el material; cambian al cambiar el tipo.
- Si el nombre es un cliente que ya existe, se preselecciona SU tipo. Antes
salía siempre «contenido», así que una segunda carpeta de un cliente de
pauta o de proyecto se podía registrar con la plantilla equivocada.
- El diálogo dice que al confirmar solo lee y arma una lista, sin mover nada.
- TIPOS_CLIENTE se reescribe en términos de cómo queda ordenado.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- R.fecha_real: la fecha sale de lo más antiguo que sabe el disco. Al copiar en
Windows la creación pasa a ser la de la copia y la modificación se conserva;
al renderizar, las dos son nuevas.
- R.base_derivado y _heredar_fechas: un render hereda la fecha del original, en
la misma carpeta o en otra si el nombre es propio y único. Si hay dos
candidatos iguales no hereda.
- El plan archiva el material en el mes en que se grabó, no en el que dice la
carpeta, y explica lo que hizo en vez de pedir una decisión. Los 727 GB de
las dos carpetas que mentían se resuelven solos.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Deshacer vuelve a la interfaz (Historial, Últimos cambios y el aviso al aplicar).
- «Elements» ya no marca como stock lo que tenga dentro: 50,7 GB de material
propio dejaban de respaldarse y salían como desechables.
- El plan contrasta el mes de la carpeta con la fecha de los archivos y avisa
cuando no cuadran (727 GB en el material real iban al mes equivocado en verde).
- aplicar(): un archivo bloqueado ya no corta el resto de su grupo.
- Un escaneo interrumpido no reemplaza el inventario bueno.
- Las uniones de carpeta de Windows no se recorren (colgaban el escaneo).
- Abrir una carpeta pasó de 8,83 s a 0,21 s.
- Plantillas: _Papelera migra a _Para borrar.
- .dat/.idx/.bak dejan de ser basura; Cache deja de ser proxies; abreviaturas
de mes bajan a confianza media.
- Convertidor: varios formatos por clip, originales apartados fuera de
candidatos, sufijo en modo espejo, temporal borrado al fallar, una sola cola.
- Interfaz: accion() no pisa el estado del botón; rutas de Windows bien recortadas.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Primer commit del proyecto. Incluye el rediseño 1.6 (riel de pasos en la barra
lateral), el actualizador con reintentos y respaldo, publicar.sh y la nueva
opción de desconectar carpetas (1.6.1).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>