SMB Sync: do disco de rede para o Photopilot
Um pequeno programa que monitoriza uma share SMB/Samba (como uma máquina StyleShoots) e carrega automaticamente pastas de fotografias como shoots e packshots.
Um pequeno programa que monitoriza uma share SMB/Samba (como uma máquina StyleShoots) e carrega automaticamente pastas de fotografias como shoots e packshots.
Pastas com o nome S-<setnummer> (por exemplo, S-1234) são carregadas como shoot para esse conjunto.
Qualquer outra pasta é tratada como artigo: um EAN/código de barras digitalizado ou um número de artigo público. As fotos com back, side ou label no nome do ficheiro são associadas a essa vista — ou através do teu próprio padrão, ver abaixo.
Para StyleShoots que colocam todos os ficheiros soltos na pasta: define FLAT_PACKSHOT=true. As fotografias soltas são agrupadas por identificador do artigo (a parte antes do primeiro underscore) e sincronizadas como packshots.
Para StyleShoots que colocam todos os ficheiros soltos na pasta: define FLAT_PACKSHOT=true. As fotografias soltas são agrupadas por identificador do artigo (a parte antes do primeiro underscore) e sincronizadas como packshots.
Uma pasta só é sincronizada quando nada foi alterado durante 10 minutos. Os artigos desconhecidos são ignorados e tentados novamente mais tarde. Nos packshots, removemos apenas os ficheiros que foram efetivamente carregados — a pasta e o restante conteúdo permanecem.
Escolhe a versão para o teu sistema. Recebes sempre a versão assinada mais recente; depois, o smbsync atualiza-se automaticamente.
Transfere windows-amd64.exe acima, muda o nome para smbsync.exe e coloca-o numa pasta própria, por exemplo 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 é o endereço IP da máquina com a share (por exemplo, a StyleShoots ou o teu NAS). SMB_MOUNT é o nome da própria share e START_DIR é a pasta dentro da share que é sincronizada. A conta precisa de permissões de leitura e escrita: os ficheiros carregados são removidos da share após o carregamento.
Abre o Agendador de Tarefas (Task Scheduler), cria uma tarefa que inicia smbsync.exe quando o computador arranca e define 'Start in' para a pasta com o .env. Seleciona 'Uitvoeren ongeacht of de gebruiker is aangemeld'.
Cria uma pasta de teste com um código EAN como nome na share, coloca lá uma fotografia e aguarda ±10 minutos. A fotografia aparece no artigo no Photopilot e desaparece da share. A pasta em si permanece, com um status.json como prova de que foi processada — as fotografias que não carregámos também ficam onde estão. Os erros chegam-nos automaticamente através do Sentry.
Por predefinição, o SMB Sync procura as palavras back, side e label no nome do ficheiro; todas as outras fotografias geram o seu próprio packshot, com essa fotografia como vista frontal. Nem todos os estúdios indicam a vista no nome. Por exemplo, o StyleShoots numera por artigo: <EAN>_PNG_1 é a vista frontal, _PNG_2 é a vista traseira e _PNG_3 é a vista lateral opcional. Nesse caso, define tu mesmo o padrão no teu .env:
FRONT_IDENTIFIER=_PNG_1$
BACK_IDENTIFIER=_PNG_2$
SIDE_IDENTIFIER=_PNG_3$FRONT_IDENTIFIER Vista frontal Predefinição: a primeira fotografia que não pertence a nenhuma outra vista.BACK_IDENTIFIER Traseira Predefinição: back no nome do ficheiro.SIDE_IDENTIFIER Vista lateral Predefinição: side no nome do ficheiro.LABEL_IDENTIFIER Etiqueta (instruções de lavagem) Predefinição: label no nome do ficheiro.Com esta definição, 8712345678906_PNG_1, _PNG_2 e _PNG_3 entram juntos como um único packshot do artigo 8712345678906 — não como três fotografias separadas. Falta a vista lateral? Essa vista fica simplesmente vazia.
Cada padrão não distingue maiúsculas de minúsculas e é verificado no nome do ficheiro sem extensão, por isso PNG_1 funciona tão bem como _PNG_1$ (o sinal $ significa: no fim do nome). Assim que definires FRONT_IDENTIFIER, só são carregadas as fotos que correspondem a um destes padrões — os restantes ficheiros na pasta não são alterados. Se omitires uma variável, aplica-se a regra predefinida.
A foto label é a foto adicional da etiqueta de lavagem ou composição. LABEL_IDENTIFIER funciona exatamente como as outras três, com um ponto a ter em conta: as variáveis que não forem configuradas mantêm o valor predefinido. No exemplo acima, LABEL_IDENTIFIER continua, portanto, definido como a palavra label. Três situações:
off (ou none) também funciona para BACK_IDENTIFIER e SIDE_IDENTIFIER e é a única forma de desativar uma palavra predefinida. Em FRONT_IDENTIFIER, off significa simplesmente voltar à predefinição: a primeira fotografia que não pertence a nenhuma outra vista.
Precisas de ajuda com a instalação? Também podemos configurá-lo contigo.