3.3.0: lo que entra nuevo ya entra ordenado
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>
Este commit está contenido en:
@@ -109,7 +109,8 @@ def diagnostico(raiz):
|
||||
if not frases:
|
||||
frases.append("Nada llamativo: la carpeta no tiene grandes bolsas de peso que recortar.")
|
||||
return {"raiz": raiz, "n": len(filas), "bytes": total_b, "grupos": grupos, "frases": frases, "meses_stock": meses,
|
||||
"duplicados": {"grupos": len(dup["grupos"]), "n": dup["n"], "bytes": dup["bytes"], "identicos": dup["identicos"], "versiones": dup["versiones"]},
|
||||
"duplicados": {"grupos": len(dup["grupos"]), "n": dup["n"], "bytes": dup["bytes"], "identicos": dup["identicos"], "versiones": dup["versiones"],
|
||||
"por_comparar": dup.get("por_comparar", 0)},
|
||||
"escaneo": dict(esc) if esc else None}
|
||||
|
||||
|
||||
@@ -147,12 +148,14 @@ def pasos(diag, plan_filas):
|
||||
[("no", "Por ahora no (se puede hacer luego desde la pestaña Optimizar)"),
|
||||
("si", "Sí, convertir y reemplazar los originales (los originales quedan en _Para borrar/originales)")], "no")
|
||||
dup = diag.get("duplicados") or {}
|
||||
if dup.get("grupos"):
|
||||
if dup.get("grupos") or dup.get("por_comparar"):
|
||||
det = []
|
||||
if dup.get("identicos"):
|
||||
det.append(f"{dup['identicos']} idénticos (mismo nombre y peso)")
|
||||
if dup.get("versiones"):
|
||||
det.append(f"{dup['versiones']} en dos formatos (MP4 y MOV del mismo clip)")
|
||||
if dup.get("por_comparar"):
|
||||
det.append(f"{dup['por_comparar']} clips que se llaman igual y pesan distinto (se comparan: si duran lo mismo, se queda el de más calidad)")
|
||||
paso("duplicados", "Material repetido",
|
||||
f"{dup['n']} copias en {dup['grupos']} grupos ({O._gb(dup['bytes'])}): {' y '.join(det)}. No se borra nada: cada copia se junta en una subcarpeta Duplicados al lado del que se queda, para revisarla a mano.",
|
||||
[("apartar", "Juntarlas en Duplicados junto al original (recomendado)"), ("dejar", "Dejarlas donde están")], "apartar")
|
||||
|
||||
Referencia en una nueva incidencia
Block a user