# Configuration du chemin de stockage des bases des données locales [env] path = location value = fix(`${env('TMPDIR', '/tmp')}/databases/${env('weekNumber')}/${env('loterreID', 'noid')}`) # STEP 0 : On noramise la valeur à rechercher (de la même manière que l'index a été créé) [assign] path = value value = fix(_.deburr(String(self.value).replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/\s]/g, '').toLowerCase())) path = loterreID value = env('loterreID') # primer contient l'URL à Télécharger (voir download.ini) path = primer value = env('primer') # STEP 1 : On vérifie si le vocabulaire est présent localement [load] location = env('location') domain = fix('loterre-vocabulaires').append('-loaded') path = loterreID target = isAlreadyDownload # STEP 1.1 : si il n'est pas présent localement [swing] test = get('isAlreadyDownload').isEmpty() # STEP 1.2 : on mémorise le fait que l'on va en faire une copie local [swing/save] location = env('location') domain = fix('loterre-vocabulaires').append('-loaded') path = loterreID # STEP 1.3 : On télécharge la version distante en XML, on la convertit en JSON et on sauvegarde localement [swing/singleton] file = ./v1/download.ini # STEP 1.4 : Avec la version JSON fraichement généré on construit un index inversé [swing/singleton] file = ./v1/compile.ini [swing/exchange] value = self().pick(['id', 'value', 'state']) # STEP 2 : On cherche une correspondance dans l'index inversé [load] location = env('location') domain = env('loterreID').prepend('loterre-').append('indexes') path = value target = result [replace] path = id value = get('id') path = value value = get('result.value', 'n/a') # STEP 2 : si l'index inversé nous donne une URI, avec on va chercher les informations associées [expand] path = value file = ./v1/transcribe.ini