Tengo un javascript usando socket.io.
Me gustaría convertir este archivo javascript a python:
io.on('connection',(socket)=>{ let nsData = namespaces.map((ns)=>{ return { img: ns.image, endpoint: ns.endpoint } }) // console.log(nsData) socket.emit('nsList',nsData); })Esto es lo que tengo en python:
@sio.event def connect(socket_id, environ): # ???En la documentación, se indica que solo necesita usar una declaración de devolución o usar la función .emit(). https://python-socketio.readthedocs.io/en/latest/server.html#emitting-events Como dicen los documentos, simplemente necesita
sio.emit('nsList', nsData, room=socket_id) Eso emitirá el evento nsList con el contenido nsData. Sin embargo, no sé qué es nsData. Parece ser simplemente una declaración de mapa, que se puede hacer con la función map() . Como dice GFG, simplemente necesita mapear los espacios de nombres. https://www.geeksforgeeks.org/python-map-function/ Suponiendo que los espacios de nombres son una lista, puede hacer algo similar a esto:
def mapNsData(ns): return { 'img': ns.image, 'endpoint': ns.endpoint }Luego, usa la función map:
nsData = list(map(mapNsData, namespaces))¡Tada! ¡Ya tienes una lista para enviar al cliente!