Bernard Engine · Doc

Expressions et chemins

Bernard ne retient pas un chemin de fichier tel quel : il retient une expression, un texte où des parties sont remplacées par des valeurs de Bernard. Le même fichier peut ainsi avoir le bon chemin sur un poste Windows, un poste Linux ou un serveur distant.

Cette page explique le langage des expressions, l'outil Path Edit qui permet de les contrôler et de les corriger, et les variations de chemins par système d'exploitation et par site. Pour créer un fichier et gérer ses versions, voir Gestion des fichiers.

Ce qu'est une expression

Une expression est un texte ordinaire dont certaines parties sont écrites entre < et >. Bernard remplace chacune de ces parties par une valeur.

Les chemins de fichiers sont des expressions. Toute propriété de type texte que l'administrateur a marquée Is Interpreted en est une aussi (voir Root Settings).

Exemple, pour un fichier d'un plan :

D:\prod\<Parent.Name>\<Name>

Si le plan s'appelle sh010 et son parent SEQ010, le chemin obtenu est D:\prod\SEQ010\sh010.

Un chemin se construit de proche en proche : l'expression d'un fichier peut citer un fichier du parent, dont l'expression cite à son tour un fichier du grand-parent, du dossier du projet jusqu'au fichier.

Les noms utilisés entre < et > ne tiennent pas compte des majuscules : <Name> et <name> sont identiques.

La syntaxe

Pour obtenir Écrivez Exemple Donne
une propriété de l'objet <Propriété> <Name> sh010
une propriété d'un parent <Parent.Propriété> <Parent.Name> SEQ010
un élément d'une liste, par son rang <Liste[n]> <Files[0]> le premier fichier de la liste
un élément d'une liste, par son nom <Liste[nom]> <Files[env_bg]> le fichier nommé « env_bg »
un texte en majuscules ou minuscules .upper() ou .lower() <Name.upper()> SH010
une partie d'un texte <Propriété[début:fin]> <Envelope[0:3]>, avec la valeur « letter » let
la version du fichier, avec des zéros <self.version[##]> version courante 5 05
une séquence d'images <Start Frame:End Frame[###]> images 1 à 100 un numéro par image, sur 3 chiffres
un calcul +, - <1 + 5> 6
une répétition <for x in Liste [corps]> <for f in Files [<f.Name>;]> plate;env_bg;
une variable d'environnement du poste <env.NOM> ou <ENV.NOM> <ENV.PROD_ROOT>\<Name> D:\prod\sh010
un objet particulier <root>, <item>, <compound>, <children>, <user>, <computer>, <datetime>, <id> <compound> le compound de la tâche

Quelques précisions :

Un exemple complet

Un fichier « Model » d'un plan, dont la version courante est la 5. Son expression, sous Windows :

<Parent.Files[0]>\Model_v<self.version[##]>.obj

<Parent.Files[0]> est le premier fichier du parent (ici, le dossier du plan). Selon la variation de chemins et la version, Bernard donne :

Cas Chemin obtenu
variation Local, version courante P:\demo\SH0010\Model_v05.obj
variation Local, version 2 demandée P:\demo\SH0010\Model_v02.obj
une variation de partage réseau \\nas01\demo\SH0010\Model_v05.obj

(Les noms de lecteur et de partage sont fictifs.)

Les messages d'erreur

Quand une expression ne peut pas être interprétée, Bernard affiche un message entre astérisques à la place de la valeur, et Path Edit souligne en rouge le nom en cause.

Message Cause Que faire
* Error: '…' not found on … * la propriété ou le nom n'existe pas sur l'objet corriger l'orthographe, ou ajouter la propriété à l'objet
* Variable (…) is not set in your environment * la variable d'environnement n'existe pas sur ce poste la définir sur le poste, puis redémarrer Bernard
* Error: Unable to interpret '…' * l'expression est mal formée vérifier les < et > et les crochets
* Recursion Error: '…' * une propriété se cite elle-même retirer la citation circulaire
* Error: Only one value expected from list for '…' * une liste est utilisée sans choisir un élément ajouter [n], ou [nom]
* Error: '…' not found in the list for '…' * le nom cité entre crochets n'est pas dans la liste corriger le nom
* Error: Context Node Not Found (possibly deleted) * l'objet de départ a été supprimé restaurer l'objet, ou corriger l'expression

L'éditeur d'expressions

Quand vous modifiez une expression (dans une propriété interprétée, dans Path Edit ou dans l'onglet Paths Variation), l'éditeur :

Éditeur d'expressions : coloration, nom inconnu souligné en rouge

Path Edit

À quoi il sert : contrôler et corriger les chemins de tous les fichiers d'une sélection. Pour une variation et un système donnés, la vue montre l'expression de chaque fichier et le chemin qu'elle donne.

Où l'ouvrir : Windows › Path Edit, puis sélectionnez un élément (ou un dossier, ou un projet).

Vue Path Edit : expressions, chemins obtenus et erreurs d'interprétation

Ce que vous pouvez faire

Un exemple d'usage : le disque du projet change de lettre, de D: à P:. Cochez les fichiers concernés, cherchez D:\prod avec Ctrl+H, remplacez par P:\prod, vérifiez l'aperçu avec Show the replacements, puis cliquez sur Replace all.

Ce qui peut bloquer : modifier les chemins d'une variation demande le droit Can modify file paths for specific Path Variations (voir Roles Setting).

Variations de chemins par système et par site

Un même fichier n'a pas le même chemin partout : sur un poste Windows du studio, sur un poste Linux, sur un partage réseau, chez un prestataire. Bernard le résout avec les variations de chemins.

Comment ça marche

  1. Les variations sont des catégories du studio. Local existe par défaut. L'administrateur en ajoute d'autres : un stockage partagé, un autre site, un serveur SFTP (la variation porte alors la case Is SFTP).
  2. Chaque fichier porte une expression par variation et par système : Windows, Linux, macOS.
  3. Chaque poste a sa variation courante, Current Path Variation, Local par défaut. Son système est détecté automatiquement.
  4. Bernard choisit l'expression de la variation du poste et de son système, l'interprète et garde le résultat en mémoire.
  5. Les copies se font d'une variation à une autre : télécharger copie vers la variation du poste, envoyer copie depuis elle (voir Gestion des fichiers).

Si l'expression manque, Bernard ne s'arrête pas :

Où les voir et les régler

Un exemple : un poste de bureau et un poste distant

Le studio a deux variations, Local et NAS. Un fichier a deux expressions :

Variation Windows Linux
Local P:\demo\<Parent.Name>\<Name> /mnt/demo/<Parent.Name>/<Name>
NAS \\nas01\demo\<Parent.Name>\<Name> /nas/demo/<Parent.Name>/<Name>

Un artiste sous Windows, dont la variation courante est Local, ouvre P:\demo\SEQ010\sh010. Quand il télécharge le fichier depuis le serveur distant, Bernard le copie vers ce chemin. Un poste Linux qui utilise aussi la variation Local obtient /mnt/demo/SEQ010/sh010.

(Les chemins et noms de partage sont fictifs.)

Ce qui peut bloquer : modifier les chemins d'une variation demande le droit Can modify file paths for specific Path Variations.

Pour aller plus loin