2.5.0: las grabaciones bajan hasta el día de rodaje
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>
Este commit está contenido en:
30
reglas.py
30
reglas.py
@@ -11,6 +11,7 @@ se guarda en datos/diccionario.json, donde la app va aprendiendo.
|
||||
"""
|
||||
import os
|
||||
import re
|
||||
import datetime
|
||||
import unicodedata
|
||||
import datetime
|
||||
|
||||
@@ -70,6 +71,19 @@ def detectar_mes(nombre: str):
|
||||
return None, False
|
||||
|
||||
|
||||
DIAS = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]
|
||||
|
||||
|
||||
def nombre_dia(fecha: str) -> str:
|
||||
"""«2026-05-15» -> «15- Viernes». Misma forma que los meses: número delante para que ordene, y el
|
||||
nombre detrás para saber de un vistazo si aquello fue entre semana o un sábado de rodaje."""
|
||||
try:
|
||||
a, m, d = (int(x) for x in fecha.split("-")[:3])
|
||||
return f"{d:02d}- {DIAS[datetime.date(a, m, d).weekday()]}"
|
||||
except (ValueError, IndexError):
|
||||
return ""
|
||||
|
||||
|
||||
def nombre_mes(mes: int) -> str:
|
||||
"""convención de la casa: «MM- Mes» (la forma más usada en las carpetas actuales)"""
|
||||
return f"{mes:02d}- {MESES_TITULO[mes - 1]}"
|
||||
@@ -509,15 +523,17 @@ TIPOS_CLIENTE = {
|
||||
"interno": "Es material de Labstream · se ordena por tipo de recurso",
|
||||
}
|
||||
|
||||
# Destinos relativos a la raíz del cliente. Variables: {anio} {mes} ("08- Agosto") {nombre} {sub}
|
||||
# {fuente} (la cámara) {app} (el programa del proyecto) {rel} (la ruta tal cual venía).
|
||||
# Destinos relativos a la raíz del cliente. Variables: {anio} {mes} ("08- Agosto") {dia} ("15- Viernes")
|
||||
# {nombre} {sub} {fuente} (la cámara) {app} (el programa del proyecto) {rel} (la ruta tal cual venía).
|
||||
# {dia} solo se rellena cuando en ese mes se grabó en más de un día: si todo el mes es un solo rodaje,
|
||||
# la carpeta del día sobraría y desaparece sola.
|
||||
# Una variable vacía se lleva consigo su segmento: «01_Proyectos/{app}/{nombre}» sin programa queda
|
||||
# en «01_Proyectos/Reel botox».
|
||||
PLANTILLAS = {
|
||||
"contenido": {
|
||||
"MARCA": "00_Marca/{sub}",
|
||||
"PROYECTOS": "01_Proyectos/{app}/{nombre}",
|
||||
"GRABACION": "{anio}/{mes}/00_Grabacion/{sub}",
|
||||
"GRABACION": "{anio}/{mes}/00_Grabacion/{dia}/{sub}",
|
||||
"PIEZA": "{anio}/{mes}/{nombre}",
|
||||
"CAMPANA": "Campañas/{anio}_{nombre}",
|
||||
"EXPORTADOS": "{anio}/{mes}/_Exportados/{sub}",
|
||||
@@ -531,7 +547,7 @@ PLANTILLAS = {
|
||||
"GUION": "{anio}/{mes}/_Guiones/{sub}",
|
||||
"FOTOS": "{anio}/{mes}/_Fotos/{sub}",
|
||||
"DOCUMENTOS": "_Documentos/{sub}",
|
||||
"CELULAR": "{anio}/{mes}/00_Grabacion/CELULAR/{sub}",
|
||||
"CELULAR": "{anio}/{mes}/00_Grabacion/{dia}/CELULAR/{sub}",
|
||||
"PROXY": "_Para borrar/proxies/{rel}",
|
||||
"BASURA": "_Para borrar/basura/{rel}",
|
||||
"REVISAR": "_Revisar/{nombre}",
|
||||
@@ -539,7 +555,7 @@ PLANTILLAS = {
|
||||
"pauta": {
|
||||
"MARCA": "00_Marca/{sub}",
|
||||
"PROYECTOS": "01_Proyectos/{app}/{nombre}",
|
||||
"GRABACION": "Material/Grabaciones/{anio}/{mes}/{sub}",
|
||||
"GRABACION": "Material/Grabaciones/{anio}/{mes}/{dia}/{sub}",
|
||||
"PIEZA": "Campañas/{anio}_{nombre}",
|
||||
"CAMPANA": "Campañas/{anio}_{nombre}",
|
||||
"EXPORTADOS": "_Exportados/{anio}/{sub}",
|
||||
@@ -561,7 +577,7 @@ PLANTILLAS = {
|
||||
"proyecto": {
|
||||
"MARCA": "00_Marca/{sub}",
|
||||
"PROYECTOS": "03_Proyecto/{app}/{nombre}",
|
||||
"GRABACION": "02_Grabacion/{anio}/{mes}/{sub}",
|
||||
"GRABACION": "02_Grabacion/{anio}/{mes}/{dia}/{sub}",
|
||||
"PIEZA": "04_Exportados/{nombre}",
|
||||
"CAMPANA": "{anio}_{nombre}",
|
||||
"EXPORTADOS": "04_Exportados/{sub}",
|
||||
@@ -583,7 +599,7 @@ PLANTILLAS = {
|
||||
"interno": {
|
||||
"MARCA": "Marca/{sub}",
|
||||
"PROYECTOS": "Proyectos/{app}/{nombre}",
|
||||
"GRABACION": "Grabaciones/{anio}/{mes}/{sub}",
|
||||
"GRABACION": "Grabaciones/{anio}/{mes}/{dia}/{sub}",
|
||||
"PIEZA": "Piezas/{anio}/{nombre}",
|
||||
"CAMPANA": "Campañas/{anio}_{nombre}",
|
||||
"EXPORTADOS": "Exportados/{anio}/{sub}",
|
||||
|
||||
Referencia en una nueva incidencia
Block a user