Crear función en tiempo de ejecución – PYTHON

Tengo una aplicación que trabaja con una base de datos en SQLITE3. He conseguido que a base de realizar algunas consultas a la base de datos, crear un fichero .txt con la estructura deseada. Esta estructura son una serie de IFs y ELIFs con condiciones en función de lo que haya en la base de datos. Hasta ahi todo bien, pero quería saber si es posible ese fichero .txt, guardarlo en formato .py, para que pueda ser llamado desde la aplicación inicial. No se si me explico correctamente, o será necesario ‘reiniciar’ la aplicación ????

Orden de ejecucion de instrucciones en una funcion jQuery

Hace horas vengo dando vueltas con el siguiente problema, se qué es lo que necesito pero no tengo el conocimiento para saber cómo solucionarlo.

En la siguiente función necesito devolver dos tablas en forma de string.

Cuestión necesito que la siguiente función se ejecute en el orden en el que está escrito (de hecho van a ver que puse unos alerts para comprobar el orden de ejecución (todos funcionan bien, la información esta bien, es enviada y recibida de forma correcta) y que no haya errores en el manejo de las variables. Si logro que así sea estoy bastante seguro de que funcionará.

Lo que hago es crear un array para guardar los valores de lo que sería tabla1 … tablaN para luego transformarlos en un string que sea tabla1;..tablaN;

Les dejo este código de referencia por que es el framework que estoy utilizando:

https://datatables.net/examples/api/row_details.html

Necesito devolver esto como string por el siguiente código:

Más puntualmente por la funcion ( format(row.data()) en la siguiente parte del codigo (al final).

        else {             // Open this row             row.child( format(row.data()) ).show();             tr.addClass('shown');         }

Mi código, el que debería devolver las dos tablas como strings, es el siguiente:

function format ( d ) {  var expand = [];  alert('Paso 1: El ID seleccionado es: ' + d.id_pedido);             $  .ajax({               type: 'POST',               url: '../../php/compras-table.php',              data: { 'id_pedido': d.id_pedido },             success: function(data) {                              alert('Paso 2: La data es devuelta del archivo PHP: (Ver consola) ');                 console.log(data);                 var resp = JSON.parse(data);                 alert('Paso 3: La data es convertida a Ajax: '+resp.expand[0].descripcion+' '+resp.expand[0].cantidad+' '+resp.expand[0].unidad);                              for (var a = 0; a < Object.keys(resp.expand).length; a++){                                 // `d` is the original data object for the row                                expand[a] = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+                                     '<tr>'+                                         '<td>Full name:</td>'+                                         '<td>'+resp.expand[a].descripcion+'</td>'+                                     '</tr>'+                                     '<tr>'+                                         '<td>Extension number:</td>'+                                         '<td>'+resp.expand[a].cantidad+'</td>'+                                     '</tr>'+                                     '<tr>'+                                         '<td>Extra info:</td>'+                                         '<td>Turpis egestas maecenas pharetra convallis posuere morbi leo. Gravida arcu ac tortor dignissim. Lectus sit amet est placerat in egestas erat. Morbi tristique senectus et netus et malesuada fames. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Purus in mollis nunc sed. Nulla facilisi cras fermentum odio eu feugiat pretium. Sit amet nulla facilisi morbi tempus iaculis urna id. Interdum posuere lorem ipsum dolor sit amet consectetur. Viverra adipiscing at in tellus integer feugiat scelerisque varius. Amet justo donec enim diam. Posuere sollicitudin aliquam ultrices sagittis orci a scelerisque purus semper.</td>'+                                     '</tr>'+                                 '</table>';                                 //alert(expand);                             }                              alert('Convirtiendo' + expand.join());                             expand = expand.join(';');                             expand = expand +';';                             alert('Convertido' + expand);                                                      return expand;                     }             })  /*expand = expand.join(';'); expand = expand +';';*/ alert('Prueba final' + expand); return expand;  }

Lo que sucede es que se ejecuta primero el primer paso y luego la parte que dice “Prueba final” sin recibir la informacion de ajax previamente.

¿Es normal que en tiempo de ejecucion Android no realize consultas a db?

no se como manejar mi problema, tengo mi aplicación, es bastante grande y tiene mucho código, realiza todo perfectamente pero tengo un problema en tiempo de ejecución, tengo unos checkbos los cuales cuando se marcan realizan una modificación en la base de datos interna de la aplicación, y cuando se desmarcan realizan el mismo proceso, una modificación a la base de datos, los 2 modifican el valor que esta asignado como mostrar en la aplicación dicho elemento en un gridview, cuando se marca se muestra y cuando se desmarca se oculta.

El problema viene cuando marco o desmarco los checkbox: hay veces que realiza la modificación en la base de datos y otras veces no, de ahí mi pregunta, si es normal que en tiempo de ejecución aleatoriamente haga las modificaciones en la base de datos y si hay alguna manera de controlar esto para que siempre lo realice. Dejo algo de código para que se entienda.

Metodos de modificacion de la base de datos:

public int updateShowMain1(String articulo){     SQLiteDatabase db = this.getReadableDatabase();     ContentValues valores = new ContentValues();     valores.put("showMain", 1);     Log.i("","Recibe la consulta");     return db.update("articles",valores,"description = ?", new String[]{articulo});      //return db.execSQL("UPDATE articles SET showMain = 1 WHERE description = articulo");  }  public int updateShowMain0(String articulo){     SQLiteDatabase db = this.getReadableDatabase();     ContentValues valores = new ContentValues();     valores.put("showMain", 0);      return db.update("articles",valores,"description = ?", new String[]{articulo});      //return db.execSQL("UPDATE articles SET showMain = 1 WHERE description = articulo");  } 

Código Checkbox:

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {         @Override         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {             if(checkBox.isChecked()) {                 Utility.dbHelper.updateShowMain1(articulo.getText().toString());                 Log.i("","Ejecuta la consulta");                 Log.i("","articulo"+ articulo.getText().toString());             }             if (!checkBox.isChecked()){                 Utility.dbHelper.updateShowMain0(articulo.getText().toString());                 Log.i("","Ejecuta la consulta");                 Log.i("","articulo"+ articulo.getText().toString());             }         }     }); 

Un saludo

Tiempo de ejecucion de mi script en php solo dura 30 segundos

Tengo el siguiente problema cuando ejecuto mi script en php solo dura 30 segundos cortando la misma que no es un exceso de proceso, lo que pasa es que estoy importando informacion ya probe cambiando en el ini :

max_execution_time=300 max_input_time=600 memory_limit=256M 

tambien en linea de comando

ini_set('max_execution_time', 300);  set_time_limit(300); 

Lo peor es que revisando la configuracion de php.ini la directiva si me la muestra con el cambio, el safe_mode esta en off.

No se me ocurre que mas hacer.

Gracias

Ejecucion de un query segun timeout

Muy buenas amigos queria saber si me pueden ayudar con una idea para solucionar una cuestion.

Quisiera calcular los intereses que un cliente tiene cada cierta cantidad de tiempo (24 hrs por ejemplo).

Tengo la idea de hacer un Timer Out Global, y cuando el reloj llegue a 0, hacer un UPDATE a todos los clientes que se encuentran en mi base de datos.

CREATE TABLE ahorro( ahorro_id int not null PRIMARY key AUTO_INCREMENT, user_id int not null, user_uid int not null, capital_real float(11,2) not null, monto float(11,2) not null, interes_recibidos float(11,2) not null, capital_total float(11,2) not null, hist_date datetime not null default CURRENT_TIMESTAMP ); 

en donde:

monto: Es la cantidad que el cliente va a ingresar.

capital_real: Es la sumatoria de los montos que el usuario ha ingresado.

interes_recibidos: Es (capital_real*15*1/36000).

capital_total: Es la sumatoria (capital_real+interes_recibidos).

Mi duda es si puedo ejecutar todo en determinada cantidad de tiempo. y si se puede, hay forma de actualizar las columnas(capital_real, interes_recibidos, capital_total) al mismo tiempo.

Saludos, gracias por su tiempo.

ejecución de evento dentro de una nueva ventana

Tengo una duda con la que llevo ya un rato peleandome un buen rato y me gustaría que me ayudarais, la función es la siguiente:

function abrirVentana() {         var nuevaVentana = window.open();         var cursos = ["XX", "XX", "XX", "XX", "XX", "XX"];         for (let i = 0; i < cursos.length; i++) {             var div = document.createElement("div");             nuevaVentana.document.body.appendChild(div);             var input = document.createElement("input");             div.appendChild(input);             input.type = "button";             input.value = cursos[i];             input.addEventListener("click", function () {                 nuevaVentana.alert("Ha presionado en "+this.value);             });         }     } 

Lo que estoy intentando es que al hacer click en cualquiera de los botones que están dentro de la nueva ventana me salte un alert dentro de la misma mostrando el value del boton correspondiente pero por alguna razón no salta, ¿que podría ser? he probado a poner el event.preventDefault(); justo antes de terminar la función y entonces si me funciona por alguna razón, y no entiendo exactamente el porque, pido ayuda. Gracias de antemano!