Come ricaricare l'aggiornamento del file jslHo un file jsl (list.jsl) che ha liste di criniera. Come seguire. Questo file viene aggiornato da un file Python in esecuzione chiamato dal mio GUI.jsl
Sto cercando di aggiornare le tabelle chiamando un elemento di azione chiamato MongoDB_table_list_refresh - che sta fondamentalmente cercando di ricaricare il file aggiornato.
Ma sta sbagliando!Qualche idea su come risolverlo o qualsiasi nuovo metodo?
</CODE></STRONG></P><PRE><CODE class=" language-jsl">MongoDB_table_list_refresh = Expr(
Include( "./GUI_Files/Lists.jsl" );
);GUI.jsl
Button Box( " Refresh\!NCollections",
Caption( "Loading collections from Mongo DB. \!NPlease wait..." );
Wait( 0 );
RunProgram( executable( "python" ), options( mongo_path || "update_mongo_tables_lists_file.py" ) );
Caption( remove );
MongoDB_table_list_refresh;
selected_db = Database_name << get selected;
If( selected_db == "mongo_dev_amr",
Mongo_Table << Set Items( Mongo_table_list_mongo_dev_amr )
);
If( selected_db == "mongo_amr",
Mongo_Table << Set Items( Mongo_table_list_mongo_amr )
);list.jsl
Mongo_table_list_mongo_dev_amr = { "ddr_dv_dev", "ddr_dv_pi", "ddr_internal", "ddr_comp_fsm", "ddr_ac", "ddr_dc" }; // This variable is auto updated by generate_mongo_tables_lists_file.py
Mongo_table_list_mongo_amr = { "ddr_internal" }; // This variable is auto updated by generate_mongo_tables_lists_file.pyRe: Come ricaricare l'aggiornamento del file jslAbbiamo trovato la soluzione incorporando Python al suo interno. Ottieni l'elenco aggiornato da Python direttamente come elenco e quindi analizzalo. In questo caso, non è necessario aggiornare e controllare il file in cui viene aggiornato questo elenco.
output = RunProgram( executable( "python" ),
options( mongo_path || "update_mongo_tables_lists_file.py"),
readfunction( "text" )
);
lines = Words (output, "\!N");
For( i = 1 , i <= N Items( lines ), i++,
If( Pat Match( lines[i], "[" ),
db_str = Word (2, Word (1, lines[i], ":"));
collection_str = Word (1, Word (2, lines[i], "["), "]");
collection_str = Substitute (collection_str, ",", "");
collection_str = Substitute (collection_str, "'", "");
collection_list = Words (collection_str);
if( db_str == "mongo_dev_amr",
Mongo_table_list_mongo_dev_amr = collection_list );
if( db_str == "mongo_amr",
Mongo_table_list_mongo_amr = collection_list );
selected_db = Database_name << get selected;
if( db_str == selected_db,
Mongo_Table << Set Items( collection_list ); );
),
);Re: Come ricaricare l'aggiornamento del file jslQual è il messaggio di errore e quale programma lo ha prodotto?
Probabilmente vuoi aggiungere readfunction("text") agli argomenti runprogram.