Normalement pas besoin de recharger le fichier dans la configuration de JOSM : le fait de relancer la validation suffit (il relit le fichier systématiquement). Pour la console c'est bien ça la question : le log qui peut apparaître quand on lance JOSM depuis l'invite de commande n'affiche pas ces erreurs. La syntaxe des fonctions est en MapCSS, mais l'interprétation de ces fonctions se fait sans doute en Java.

Adrien P.

Le 03/11/2019 à 13:31, Yves P. a écrit :
J’essaie de mettre les parenthèses et les guillemets au bon endroit pour corriger ça…

J’ai essayé ça (inspiré de https://josm.openstreetmap.de/wiki/Help/Styles/MapCSSImplementation):

 *
    
*[mapillary][mapillary!~/^[a-zA-Z0-9_-]{22}$/][mapillary=~/pKey=[a-zA-Z0-9_-]{22}/]

    {
        throwError: tr("mapillary tag should only contain image ID
    instead of full URL");
         _match:  regexp_match("pKey=([a-zA-Z0-9_-]{22})",  tag("mapillary"));
         fixAdd:  concat("mapillary",  "=",  get(prop("_match"),1));
    }


_match: doit provoquer une exception et du coup la règle n’est plus validée.

Pour décomposer le test, ceci fonctionne :

 *
    
*[mapillary][mapillary!~/^[a-zA-Z0-9_-]{22}$/][mapillary=~/pKey=[a-zA-Z0-9_-]{22}/]

    {
        throwError: tr("mapillary tag should only contain image ID
    instead of full URL");
         fixAdd:  concat("toto",  "=",  "titi");
    }

Comment afficher la « console » lors de l’exécution des règles ?
Ces instructions sont écrites en Java ou en Javascript ?

Pour obtenir la clé mapillary, peut-on utiliser directement ça ?
regexp_match("regex"*,* string)[1];

—
Yves

PS: comment « rafraîchir » le code d’une régle sans refaire les ~10 clics de souris pour recharger le fichier local contenant son code ?


_______________________________________________
Talk-fr mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-fr
_______________________________________________
Talk-fr mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à