Strict Standards: Non-static method Flyspray::absoluteURI() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/constants.inc.php on line 29 Strict Standards: Non-static method Flyspray::get_tmp_dir() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/constants.inc.php on line 77 Strict Standards: Non-static method Flyspray::base_version() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 29 Strict Standards: Non-static method Flyspray::base_version() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 29 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 39 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Req::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 40 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/header.php on line 42 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::enum() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 20 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 37 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::enum() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 37 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 26 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 26 Strict Standards: Non-static method Cookie::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 33 Strict Standards: Non-static method Get::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 41 Strict Standards: Non-static method Get::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 100 Strict Standards: Non-static method Get::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 100 Strict Standards: Non-static method Get::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 100 Strict Standards: Non-static method Flyspray::requestDuplicated() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 109 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/index.php on line 148 Strict Standards: Non-static method Req::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 15 Strict Standards: Non-static method Req::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Req::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 26 Strict Standards: Non-static method Filters::num() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 32 Strict Standards: Non-static method Flyspray::GetTaskDetails() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 17 Strict Standards: Non-static method Flyspray::GetAssignees() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.flyspray.php on line 358 Strict Standards: Non-static method Get::val() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 34 Strict Standards: Non-static method Get::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.gpc.php on line 100 Strict Standards: Non-static method Post::has() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 34 Strict Standards: Non-static method TextFormatter::render() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/scripts/details.php on line 128 FS#57 : Bug affichage image pour les traitements G'MIC (syntaxe d'échappement "\\\"" pour G'MIC)

EKD

Welcome on the EKD bug report site.
Liste des tâches

FS#57 - Bug affichage image pour les traitements G'MIC (syntaxe d'échappement "\\\"" pour G'MIC)

Concerne le projet: EKD
Ouverte par Strict Standards: array_map() expects parameter 1 to be a valid callback, non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 281 Angelo (ekd) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 dimanche, 18 juillet 2010, 11:31 GMT
Dernière édition par Angelo (ekd) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 samedi, 21 avril 2012, 17:39 GMT
Type de tâche Bug Report
Catégorie Interface
Etat New
Assignée à Strict Standards: array_map() expects parameter 1 to be a valid callback, non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 281 Ptah (Ptah)
Angelo (ekd)
Système d'exploitation All
Sévérité Haute
Priorité Immédiate
Basée sur la version 3.1.0
Due pour la version Non décidé
Date d'échéance Non décidé
Pourcentage achevé: 90%
Votes 0
Privée Non

Détails

David me signale que la syntaxe d'échappement de G'MIC est "\\\"". Ce qui génère au final des effets de bords dans l'affichage des images lors des traitements finaux dans EKD

Voilà quelques explications (à peu près le commentaire que j'ai mis dans le SVN pour mes dernières rectifications sur le fichier image_filtres_image.py --> révision 1039):

Rectification momentanée (pour le traitement final des filtres gérés par G'MIC) en passant par os.system au lieu de self.process.start car un effet de bord est apparu avec le traitement par self.process.start (les images après traitement ne s'affichent plus correctement dans l'onglet Image après traitement). A voir ici dans image_filtres_image.py (de la ligne 2608 à 2723 pour l'instant avant l'ajout de nouveaux filtres G'MIC). Le code sera tout de même facilement visible car on a # Gestion par G'MIC en entête (dans la fonction appliquer).

Voilà l'explication: nous utilisons actuellement la syntaxe d'échappement "\"" pour les chemins (...+"\""+chemin+"\""+...), cela fonctionne très bien (surtout pour les chemins comportant des espaces vides) ... mais la syntaxe G'MIC elle veut une autre syntaxe d'échappement, c'est à dire "\\\"" (pour que ce soit affiché comme ceci: gmic \"mon nom de fichier avec espace.jpg\" ...), il a donc fallu transformer les commandes comme ceci: ...+"\\\""+chemin+"\\\""+... et ce en entrée comme en sortie.

Il va falloir regarder ça de près (pour le retour de la syntaxe conventionnelle sous Linux et macOSX), c'est à dire self.process.start ... tout en gardant la syntaxe d'échappement spécifique à G'MIC ... en mettant en place les bonnes conditions pour que les images s'affichent correctement (dans l'onglet Images après traitement) lors de l'application des taitements finaux de G'MIC ... tout en gardant l'affichage actuel (qui fonctionne bien) pour les traitements en dehors de G'MIC.

a+
Cette tâche dépend de

Commentaire de Angelo (ekd) - Strict Standards: Non-static method Filters::noXSS() should not be called statically in /data/web/64/9e/8e/ekd.tuxfamily.org/htdocs/bugs/includes/class.tpl.php on line 613 samedi, 21 avril 2012, 17:36 GMT
Réglé à 99 % indiqué à 90 % dans la tache)

Voir le SVN d'EKD sur CodingTeam (Révision 469 dans image_filtres_image.py):

Importante mise à jour concernant les processus et les barres de progression. Tous les filtres image ont aussi été testés dans la version windows portable (le filte: Abstraction multicolore n'est disponible que dans la version GNU/Linux, c'est le seul filtre dans ce cas).

Le traitement se fait dans la plupart des filtres (non entièrement Python, c'est à dire gérés par la commande convert d'ImageMagick ou par G'MIC) par l'appel de la fonction: fonctionProcess ... et de la sorte (par exemple pour le filtre "La planète 1":

for self.j in self.listeIndex:
---># -----------------------------------------
---># Code générique sous GNU/Linux et windows
---># -----------------------------------------
--->self.cheminCourantSauv = self.cheminSauv+'_'+string.zfill((self.j+self.spin1valNombres.value()), self.spin2valNombres.value())+self.ext
--->self.commande = EkdConfig.urlGmic+" "+"\\\""+self.listeImgSource[self.j]+"\\\""+" -repeat "+spin1+" --mirror x -a x -done -map_sphere "+spin4+','+spin5+','+spin2+','+spin3+" -o "+"\\\""+self.cheminCourantSauv+"\\\""
--->self.fonctionProcess(self.commande)
--->if not self.opReccurApresApp(): return
--->self.j += 1

Voir ici: http://codingteam.net/project/ekd/browse/trunk/gui_modules_image/filtres_images/image_filtres_image.py/?rev=469

Le seul problème qui reste est le filtre (géré par G'MIC) là la fonction fonctionProcess n'est pas encore utilisée car il y a un souci entre la syntaxe de G'MIC (pour le filtre Abstraction multicolore) et le process de fonctionProcess. A voir avec David (le dev de G'MIC) si on peut trouver une syntaxe équivalente pour cette commande de G'MIC.

Chargement...