SMB Sync: de unidad de red a Photopilot
Un pequeño programa que supervisa un SMB/Samba-share, como una máquina StyleShoots, y sube automáticamente carpetas de fotos como shoots y packshots.
Un pequeño programa que supervisa un SMB/Samba-share, como una máquina StyleShoots, y sube automáticamente carpetas de fotos como shoots y packshots.
Las carpetas con el nombre S-<setnummer> (p. ej., S-1234) se suben como shoot para ese set.
Cualquier otra carpeta se interpreta como un artículo: un EAN/código de barras escaneado o un número de artículo público. Las fotos con back, side o label en el nombre de archivo se vinculan a esa vista — o mediante tu propio patrón, consulta más abajo.
Para StyleShoots que colocan todos los archivos sueltos en la carpeta: define FLAT_PACKSHOT=true. Las fotos sueltas se agrupan por identificador de artículo (la parte anterior al primer guion bajo) y se sincronizan como packshots.
Para StyleShoots que colocan todos los archivos sueltos en la carpeta: define FLAT_PACKSHOT=true. Las fotos sueltas se agrupan por identificador de artículo (la parte anterior al primer guion bajo) y se sincronizan como packshots.
Una carpeta solo se sincroniza cuando no ha habido cambios durante 10 minutos. Los artículos desconocidos se omiten y se vuelven a intentar más tarde. En los packshots, solo eliminamos los archivos que se han subido realmente — la carpeta y el resto permanecen.
Elige la versión para tu sistema. Siempre recibirás la versión firmada más reciente; después, smbsync se actualizará automáticamente.
Descarga windows-amd64.exe arriba, cámbiale el nombre a smbsync.exe y colócalo en una carpeta propia, por ejemplo C:\Photopilot\smbsync\.
CUSTOMER=Bedrijfsnaam
SMB_IP=192.168.1.10
SMB_USERNAME=styleshootssharing
SMB_PASSWORD=wachtwoord
SMB_MOUNT=StyleshootsDrive
START_DIR=sync
API_TOKEN=jouw-api-token
API_URL=https://app.photopilot.ai/api
LOG_LEVEL=info
TZ=Europe/Amsterdam
# Optioneel: StyleShoots-modus waarbij alle bestanden los in START_DIR staan
# (geen submap per artikel). Losse foto's worden gegroepeerd op artikel-
# identifier (het deel voor de eerste underscore) en als packshots gesynct.
FLAT_PACKSHOT=falseSMB_IP es la dirección IP del equipo con la share (por ejemplo, StyleShoots o tu NAS). SMB_MOUNT es el nombre de la share y START_DIR la carpeta dentro de la share que se sincroniza. La cuenta necesita permisos de lectura y escritura: los archivos subidos se eliminan de la share después de la subida.
Abre el Programador de tareas (Task Scheduler), crea una tarea que inicie smbsync.exe al arrancar el ordenador y configura 'Iniciar en' con la carpeta que contiene el archivo .env. Selecciona 'Ejecutar tanto si el usuario inició sesión como si no'.
Crea una carpeta de prueba en el share con un código EAN como nombre, añade una foto y espera ±10 minutos. La foto aparecerá en el artículo en Photopilot y desaparecerá del share. La carpeta seguirá ahí, con un status.json dentro como prueba de que se ha procesado — las fotos que no hayamos subido también se quedarán. Los errores nos llegan automáticamente a través de Sentry.
De forma predeterminada, SMB Sync busca las palabras back, side y label en el nombre de archivo; todas las demás fotos se convierten en un packshot propio con esa foto como vista frontal. No todos los estudios indican la vista en el nombre. StyleShoots, por ejemplo, numera por artículo: <EAN>_PNG_1 es la vista frontal, _PNG_2 la vista trasera y _PNG_3 la vista lateral opcional. En ese caso, define tú el patrón en tu .env:
FRONT_IDENTIFIER=_PNG_1$
BACK_IDENTIFIER=_PNG_2$
SIDE_IDENTIFIER=_PNG_3$FRONT_IDENTIFIER Vista frontal Predeterminado: la primera foto que no pertenece a ninguna otra vista.BACK_IDENTIFIER Vista trasera Predeterminado: back en el nombre de archivo.SIDE_IDENTIFIER Vista lateral Predeterminado: side en el nombre de archivo.LABEL_IDENTIFIER Etiqueta (instrucciones de lavado) Predeterminado: label en el nombre de archivo.Con esta configuración, 8712345678906_PNG_1, _PNG_2 y _PNG_3 entran juntos como un único packshot del artículo 8712345678906 — no como tres fotos separadas. ¿Falta la vista lateral? Entonces esa vista se queda vacía.
Cada patrón no distingue entre mayúsculas y minúsculas y se comprueba contra el nombre del archivo sin extensión, así que PNG_1 funciona igual de bien que _PNG_1$ (el signo $ significa: al final del nombre). En cuanto configures FRONT_IDENTIFIER, solo se subirán las fotos que coincidan con uno de estos patrones — los demás archivos de la carpeta no se tocarán. Si omites una variable, seguirá aplicándose la regla predeterminada.
La foto de la etiqueta es la foto adicional de la etiqueta de lavado o composición. LABEL_IDENTIFIER funciona exactamente igual que las otras tres, con una cosa que debes recordar: las variables que no configures mantienen su valor predeterminado. En el ejemplo anterior, LABEL_IDENTIFIER sigue teniendo la palabra label. Tres situaciones:
off (o none) también funciona para BACK_IDENTIFIER y SIDE_IDENTIFIER, y es la única forma de desactivar una palabra predeterminada. En FRONT_IDENTIFIER, off simplemente significa volver al valor predeterminado: la primera foto que no pertenece a ninguna otra vista.
¿Necesitas ayuda con la instalación? También podemos configurarlo contigo.