python – ¿Cómo actualizar el estado del registro por el valor de la hora de Inicio/Fin en sus campos?

Dado el siguiente modelo

STATUS = ((0, "Pendiente"), (1, "Iniciado"), (2, "Finalizado"))
class Tarea(models.Model):
    title = models.CharField(max_length=100)
    start_time = models.TimeField(blank=True, null=True)
    end_time = models.TimeField(blank=True, null=True)
    status = models.IntegerField(choices=STATUS, default=0)

Cuando el usuario da de alta un nuevo registro, las fechas start_time y end_time están en blanco.

Estoy buscando la forma de automatizar lo siguiente:

Cuando el usuario ingresa las fechas de start_time y end_time (por ejemplo, desde un una vista DetailView, presiona un botón para programar el inicio y final de la tarea en un formulario)

  1. Actualizar el campo status=1 cuando la hora del servidor coincida con la hora en start_time
  2. Actualizar el campo status=2 cuando la hora del servidor coincida con la hora en end_time

No estoy seguro de que con que o que puedo utilizar para esto, si lo hago desde el model.py o desde el view.py

Lo mas parecido que esta publicado esta en aquí

¿Cómo hago un update a un registro, despues de cierto tiempo usando Django?

aunque la actualización en este caso, depende del administrador y no del usuario final, no estoy viendo que se aplique en mi caso.

postgresql – SUSTITUIR EL VALOR DE UNA CADENA Y CAMBIARLO POR OTRO POSTGRES

Tengo la siguiente tabla.

Mujeres

como ven en el campo name, tengo un valor , y en el fullname es un valor diferente, requiero reemplazar el ultimo valor después del / es decir debe quedar de la siguiente manera

Bebés/Artículos/Coches y accesorios para bebés

He intentando con la function

select split_part(fullname, '/', name) from categories 

pero no se como mas pueda hacerlo, ¿Alguna sugerencia de como puedo hacerlo?

mysql – SQL: Ordenar lista por números de votos de outra tabela

Quero os resultados da minha enquete sejam ordenados pela a quantidade de votos que tem na outra tabela exclusiva para computar votos.

Atualmente meus resultados sai assim:
resultado atual

Tenho duas tabelas, essa abaixo pertence as respostas a ser votada.
A coluna enquete_id indica o número da enquete que está vinculada as respostas para votação.

CREATE TABLE `respostas` (
  `id` int(11) NOT NULL,
  `enquete_id` int(11) NOT NULL,
  `opcao` varchar(500) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

E essa pertence aos votos, aqui é onde serão computados:

CREATE TABLE `votos` (
  `id` int(11) NOT NULL,
  `enquete_id` int(11) NOT NULL,
  `opcao_id` int(11) NOT NULL,
  `data` int(11) NOT NULL,
  `ip` varchar(100) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Eu tentei algo assim, mas não da certo, até pela as vezes que deu, infelizmente não apareceu os votos zerados, sumiram as opções de votar que estavam sem votos.

SELECT * FROM resposta op INNER JOIN votos vt ON (vt.enquete_id = op.enquete_id) WHERE op.enquete_id='1' GROUP BY op.id ORDER BY vt.opcao_id

Referência

¿Tasa de refresco de PHP en una descarga masiva por FTP?

no se como explicar esto, pero lo intentare.

Resulta que tengo un programa que descarga muchos archivos a través de una conexión FTP.
El programa funciona bien, se demora lo que se demora en buscar, validar y descargar todos los archivos que yo le diga.

Mi tema es el sgte…
Mientras ejecuto la descarga de estos archivos, la página queda en stand by, a veces son pocos, pero durante la ejecución y descarga, estos archivos no se muestran por pantalla sino hasta que acaba de descargarlos todos, y me muestra todos los echos que le he pedido mostrarme, ej:

...
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/19.xml
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/20.xml
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/21.xml
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/22.xml
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/23.xml
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/24.xml
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/25.xml
Se ha creado el archivo C:/Users/Usuario/Documents/bowa/temp/11111111-1/1/1/2013-01-18/26.xml
...

Bien, al momento de ser MUCHOS archivos, más de 100 por ejemplo… no se como, pero la página va cargando parcialmente estos resultados, hasta finalizar la ejecución y mostrar la última cola de resultados.
Esto me lleva a pensar, que debe haber algún modo de pedirle a la página web, que refresque la información desplegada.

php – ¿Cómo pasar un Blob por ajax?

pues he estado intentando pasar un objeto blob por ajax, pero no he podido. Lo que estoy haciendo es un trazo hecha por una persona que pasa el mouse o el dedo en el celular.
Cuando miro en la consola el blob, me aparece así: Blob {size: 17062, type: “image/png”} y al parecer está todo perfecto, pero no se envía.

miren el código:

$(document).ready(function () {
       
    $('#formu').submit(function(e){

        var canvas = document.getElementById("canvas");
        var UrlCanvas = canvas.toDataURL("image/octet-stream");
       
        
         var blob=convertirUrl_a_Blob(UrlCanvas);

         var objectData = new FormData(); 
         objectData.append('file', blob); 
    
        $.ajax({
            type: 'POST',
            url: 'procesar.php',  
            contentType: false,
            processData: false,
            data: objectData,
            success: function(response){
               
            console.log(response);  
            
           }
            
        })

        e.preventDefault();
    })


});
<form action="procesar.php" method='POST' id='formu' enctype="multipart/form-data">
    


    
      <canvas id='canvas' style=" border: 1px solid red;"></canvas>
    



    <button>guardar</button>

</form>

Si hay una forma de resolver esto o hacerlo diferente, se los agradecería.

python – No puedo derivar por entrada de teclado las funciones trigonometricas con la libreria Sympy

Mi problema es: Quiero hacer que el usuario introduzca las funciones trigonometricas por entrada de teclado, pero no encuentro el metodo para poder lograrlo, tambien quiero multiplicar las funciones y agregarles valores.
Siempre me marca cuando escribo cos*x este error, :error: TypeError: unsupported operand type(s) for *: ‘FunctionClass’ and ‘Symbol’

from sympy import *

x = parse_expr(input(
    "Escribe tu funcion: (Recuerda usar bien los paréntesis y que los exponentes se escriben con ** n Ejemplo: 2*x**3 se lee: Dos equis al cubo): "))


def funcion(x):
    resultado = x
    return resultado

def derivada(x):
    z = Symbol('x')
    y = funcion(x)
    resultado = diff(y,z) 
    return resultado
print(derivada(x))

javascript – ¿Por qué mi texto se modifica? y ¿Cómo evito que se modifique?

Estoy haciendo una pagina para cargar contenido desde una base de datos la cosa es que la información para saber que contenido mostrar la paso a través de la URL Ejemplo:

www.MiDominioWeb.com/Articulo?¿Un-México-de-percepciones-o-realidades?
y para obtener el contenido solo elimino el texto que esta antes del signo de interrogación pero es justo aquí cuando ocurre un error ya que el texto “Especial” como Signos de interrogación y acentos se modifica y no me permite saber cual es el contenido a mostrar, les mostrare el código que tengo junto con un ejemplo de que es lo que sucede.


//URL Completa: www.MidominioWeb.com/Articulo?¿Un-México-de-percepciones-o-realidades?

let URLArticle;

URLArticle = window.location.href;

PostTitleToLoad = URLArticle.replace("www.MidominioWeb.com/Articulo?", "");

PageTitle = PostTitleToLoad.replace("-", " ");

document.title = PageTitle;

console.log(URLArticle);
console.log(PostTitleToLoad);
console.log(PageTitle);

Consola:

 https://www.MidominioWeb.com/Articulo?%C2%BFUn-M%C3%A9xico-de-percepciones-o-realidades?


%C2%BFUn-M%C3%A9xico-de-percepciones-o-realidades?

%C2%BFUn M%C3%A9xico-de-percepciones-o-realidades?


Como pueden ver el Signo de Interrogación ¿ se cambio a %C2%BF y los acentos a %C3%A9 ¿Así que mi pregunta es como puedo evitar que suceda esto?

javascript – Chokidar node js no me permite monitorear un directorio en especifico, por que?

Actualmente estoy trabajando en un proyecto en node js. Necesito implementar la funcionalidad de monitorear la actividad de un directorio en especifico, para lo cual estoy utilizando la librería chokidar. A pesar de ser fácil de utilizar no consigo poder monitorear la actividad del directorio y de verdad no comprendo el porque.

tengo mi proyecto estructurado de la siguiente manera.

  • watch_folder/
    • folder/
    • index.js
    • package.json

Lo que quiero hacer es monitorear el directorio “folder/”, por lo cual en index.js implemente el siguiente codigo:

"use strict";
const chokidar = require("chokidar");

let path = "./folder";

let watcher = chokidar.watch(path, {persistent: true,});

const onWatcherReady = () => {
    console.info('Desde aquí puedes vigilar cambios reales, el escaneo inicial ha sido finalizado.');
}


// Declare the listeners of the watcher
watcher
.on('add', (path) => {
    console.log('Archivo', path, 'ha sido agregado');
})
.on('addDir', (path) => {
    console.log('Directorio', path, 'ha sido agregado');
})
.on('change', (path) => {
    console.log('Archivo', path, 'ha sido cambiado');
})
.on('unlink', (path) => {
    console.log('Archivo', path, 'ha sido removido');
})
.on('unlinkDir', (path) => {
    console.log('Directorio', path, 'ha sido removido');
})
.on('error', (error) => {
    console.log('Ops, esto es un error', error);
})
.on('ready', onWatcherReady)
.on('raw', (event, path, details) => {
    // Este evento debería ser ejecutado cada vez que algun evento es ejecutado           
    console.log('Info evento general:', event, path, details);
});

Al ejecutar index.js la salida que obtengo por consola es:

Directorio folder/ ha sido agregado
Desde aquí puedes vigilar cambios reales, el escaneo inicial ha sido finalizado.

Luego de esto ninguno de los listener se activan, a pesar de crear un nuevo archivo o modificar uno ya existente.

Saben alguno cual puede ser la razón de que los listener dejen de funcionar?

de antemano gracias, saludos.

Datos del ambiente

  • node 12.20.0
  • chokidar 3.4.3
  • OS Windows 10 – WSL:Ubuntu 20.04

aplicação web – Permissão de uso api simples WhatsApp por empresas

Em 2021 exite “WhatsApp Business API” e a api simples (criado com link https://api.whatsapp.com/send?phone=(NUMERO)&text=(TEXTO) ). Uma empresa pode usar api simples em um sistema web para enviar mensagens aos clientes sem infringir algum norma WhatsApp ?

Para quem não sabe o serviço da “WhatsApp Business API” é pago e só pode ser com empresas parceiras do Facebook. https://developers.facebook.com/docs/whatsapp/overview

python – Substituir strings por elementos de uma lista

# Código
list = (a for a in range(100,103))
df = pd.DataFrame({
    "A":('x','y','z'),
    "B":(0,1,2),
    "C":(0,0,0)
})

preciso substituir as strings da coluna “C” pelas strings do “list”, de modo que a primeira string do “list” substitua a primeira string da coluna “C”, a segunda string do “list” substitua a segunda string da coluna “C”.

tentei aplicar um replace, mas na substituição é retornado todas as strings do “list” dentro de cada string da coluna “C”, ficando dessa maneira:

0    (100, 101, 102)
1    (100, 101, 102)
2    (100, 101, 102)

o resultado que desejo, seria isto:

    A   B   C
0   x   0   100
1   y   1   101
2   z   2   102