3.2.0: el orden mira la forma de las carpetas, no solo su nombre
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>
Este commit está contenido en:
10
asistente.py
10
asistente.py
@@ -182,7 +182,10 @@ def filas_elegidas(plan_filas, dec):
|
||||
if dec.get("limpieza", "papelera") == "papelera":
|
||||
out.append(f)
|
||||
elif c in ("GRABACION", "CELULAR", "FOTOS"):
|
||||
if dec.get("material", "ordenar") == "ordenar":
|
||||
# solo lo marcado: antes entraba todo el material aunque el plan lo diera por dudoso (el mes
|
||||
# sacado de la fecha de modificación de un archivo que no es de cámara), y «hacer lo seguro»
|
||||
# movía justo lo que el plan decía que había que mirar
|
||||
if dec.get("material", "ordenar") == "ordenar" and f["marcado"]:
|
||||
out.append(f)
|
||||
else:
|
||||
m = dec.get("carpetas", "seguras")
|
||||
@@ -222,7 +225,10 @@ def ejecutar(raiz, dec, plan_filas=None, en_hilo=False):
|
||||
st = O.stock_a_papelera(raiz, rutas)
|
||||
res["lotes"].append(st.get("lote"))
|
||||
res["stock"] = st.get("movimientos", 0)
|
||||
plan_filas = [f for f in plan_filas if f["cubeta"] != "STOCK"]
|
||||
# las filas de stock cuyo material acaba de irse entero ya no tienen qué mover; las demás
|
||||
# siguen valiendo (antes se quitaban todas, y una carpeta «Recursos» que no era de Envato
|
||||
# se quedaba sin ordenar hasta la siguiente pasada)
|
||||
plan_filas = [f for f in plan_filas if f["cubeta"] != "STOCK" or os.path.exists(f["origen"])]
|
||||
elegidas = filas_elegidas(plan_filas, dec)
|
||||
if elegidas:
|
||||
_prog("ordenar", 0, len(elegidas), "moviendo carpetas y archivos")
|
||||
|
||||
Referencia en una nueva incidencia
Block a user