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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#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