Cómo volver a cargar el archivo jsl de actualizaciónTengo un archivo jsl (list.jsl) que tiene listas de melena. Me gusta seguir. Este archivo se actualiza ejecutando un archivo python llamado desde mi GUI.jsl
Estoy tratando de actualizar las tablas llamando a un elemento de acción llamado MongoDB_table_list_refresh, que básicamente está intentando volver a cargar el archivo actualizado.
Pero es un error! ¿Alguna idea de cómo solucionarlo o algún método nuevo?
</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: Cómo recargar la actualización del archivo jsl¿Cuál es el mensaje de error y qué programa lo produjo?
Probablemente desee agregar la función de lectura ("texto") a los argumentos del programa de ejecución.
Re: Cómo recargar la actualización del archivo jslEncontramos la solución incorporando Python. Obtenga la lista actualizada de python directamente como una lista y luego analícela. En este caso, no tenemos que actualizar y verificar el archivo donde se actualiza esta lista.
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 ); );
),
);