Este semana, Pierre añadido algo muy interesante. Aunque no es 100% finalizado en cuanto al nombre... JSObject()
Con JSObject, uno puede convertir un objeto Javascript en algo que es compatible con Brython (class).
No hablamos de funciones aquí. Porque podemos usarlas directamente:
<script>
var Alerta = function() {alert('tremendo')};
</script>
<script type='text/python'>
Alerta()
</script>Pero, en caso de una librería Javascript como por ejemplo D3, todo se hace por medio de objetos. En vez de hacer un "wrapper" por cada librerías, es muy facil usar JSObject(). En la lista en francés, Poyol lo demostró así:
<body onLoad="brython()">
<script src="brython.js"></script>
<div id="viz"></div>
<script type="text/javascript">
var sampleSVG = d3.select("#viz")
.append("svg")
.attr("width", 200)
.attr("height", 200);
</script>
<script type="text/python">
ssvg=JSObject(sampleSVG)
for i,color in zip(range(3),['blue','red','yellow']):
ssvg.append("circle").style("stroke", "gray").style("fill", color).attr("r", (3-i)*10).attr("cx", 50).attr("cy", 50)
</script>
</body>
Disfruten,
François
--
www.pyptug.org -
raspberry-python.blogspot.com