banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Tue 30 June 2009 10:48

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

FME2009 : comment déplacer un fichier source

Aloha
Comment déplacer un fichier source après traitement ?
D'avance, merci,


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#2 Tue 30 June 2009 11:12

pyjoubert
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Mar 2006
Messages: 330

Re: FME2009 : comment déplacer un fichier source

Comme cela à froid, j'essayerais d'utiliser un script TCL associé au script de fermeture dans les paramètres avancés de ton projet

Hors ligne

 

#3 Tue 30 June 2009 13:51

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: FME2009 : comment déplacer un fichier source

J'ai mis un script en TCL Shutdown

Code:

proc runExport {} {
     set dir2data ["$::FME_MacroValues( SourceDataset_ACAD)"]
     
     foreach f [glob -dir $dir2data {*.dxf,*.dwg} ] { \
        set base [split {FME_GetAttribute fme_dataset}]
        set chemin_emprise ""
        append chemin_emprise [lindex base 0]
        append chemin_emprise "\\"
        append chemin_emprise [lindex base 1]
        append chemin_emprise "\\"
        append chemin_emprise [lindex base 2]
        append chemin_emprise "\\"
        append chemin_emprise [lindex base 3]
        append chemin_emprise "\\"
        append chemin_emprise [lindex base 4]
        append chemin_emprise "\\transformes\\"
        append chemin_emprise [FME_GetAttribute fme_basename]
        append chemin_emprise "\\emprise_prestataire\\"
        file copy f $chemin_emprise
        }
}
runExport

mais j'obtiens çà comme erreur :

FME_END_TCL failure: can't read "::FME_MacroValues( SourceDataset_ACAD)": no such element in array
Program Terminating


Une idée ?


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#4 Wed 01 July 2009 09:06

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: FME2009 : comment déplacer un fichier source

Dans une fonction les variables sont locales, or FME_MacroValues est définie globalement.
Essayez de sortir le code de la fonction.


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#5 Wed 01 July 2009 10:17

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: FME2009 : comment déplacer un fichier source

Donc faire un appel de la variable du type runExport "$::FME_MacroValues( SourceDataset_ACAD)" ?

Code:

 proc runExport {dir2data} {
      #set dir2data [$::FME_MacroValues(SourceDataset_ACAD)]

      foreach f [glob -dir $dir2data {*.dxf} ] { \
         set base [split {FME_GetAttribute fme_dataset}]
         set chemin_emprise ""
         append chemin_emprise [lindex base 0]
         append chemin_emprise "\\"
         append chemin_emprise [lindex base 1]
         append chemin_emprise "\\"
         append chemin_emprise [lindex base 2]
         append chemin_emprise "\\"
         append chemin_emprise [lindex base 3]
         append chemin_emprise "\\"
         append chemin_emprise [lindex base 4]
         append chemin_emprise "\\transformes\\"
         append chemin_emprise [FME_GetAttribute fme_basename]
         append chemin_emprise "\\emprise_prestataire\\"
         file copy f $chemin_emprise
         }}

 runExport $::FME_MacroValues($SourceDataset_ACAD)

Me renvoie

2009-07-01 10:13:31|   2.6|  0.1|ERROR |TCLCaller_2: @TCL -- failed to evaluate expression `Arbo' -- invalid command name "E:\FME\fichiers données\traitement_auto\transfo_lever_geometre\fichier_source\**\*.dxf"


Héhé ça avance :

voici le code presque parfait :

Code:

proc runExport {} {
  set dir2data "E:\\FME\\fichiers_donnees\\traitement_auto\\transfo_lever_geometre\\fichier_source\\"
  foreach d [glob -dir $dir2data -type d * ] { \
    FME_LogMessage fme_inform $d
    set base [split $d {\\}]
    set chemin_emprise "" 
    append chemin_emprise [lindex base 0] 
    append chemin_emprise "\\" 
    append chemin_emprise [lindex base 1] 
    append chemin_emprise "\\" 
    append chemin_emprise [lindex base 2] 
    append chemin_emprise "\\" 
    append chemin_emprise [lindex base 3] 
    append chemin_emprise "\\" 
    append chemin_emprise [lindex base 4] 
    append chemin_emprise "\\transformes\\" 
    foreach f [glob  -nocomplain  -dir $d *] {
        FME_LogMessage fme_inform $f
        set ch chemin_emprise
        set file [split $f {\.}]
        append ch [lindex file 0] 
        append ch "\\emprise_prestataire\\" 
        
        file copy f $ch
    }
}\
}
runExport

Mais j'ai l'erreur :

2009-07-01 13:59:02|  30.9|  0.0|INFORM|Translation was SUCCESSFUL with 26 warning(s) (4223 feature(s)/28115 coordinate(s) output)
2009-07-01 13:59:02|  30.9|  0.0|INFORM|FME Session Duration: 36.9 seconds. (CPU: 25.7s user, 4.0s system)
2009-07-01 13:59:02|  30.9|  0.0|INFORM|END - ProcessID: 1132, peak process memory usage: 115796 kB, current process memory usage: 86060 kB.
E:\FME\fichiers_donnees\traitement_auto\transfo_lever_geometre\fichier_source\B.P.D. G.E
E:\FME\fichiers_donnees\traitement_auto\transfo_lever_geometre\fichier_source\B.P.D. G.E/20081114_Curie_de_Gaulle_Sorbon_St_Brice_Courcelles_gdu.dxf

FME_END_TCL failure: error copying "f": no such file or directory
Program Terminating

Translation FAILED.


Quelqu'un a une idée

Dernière modification par Pierre (Wed 01 July 2009 14:03)


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

Pied de page des forums

Powered by FluxBB