Ticket #3826: sage.patch
| File sage.patch, 2.5 kB (added by itolkov, 5 months ago) |
|---|
-
a/sage/server/notebook/interact.py
old new 483 483 484 484 EXAMPLES: 485 485 sage: sage.server.notebook.interact.InteractControl('x', 1).interact() 486 'interact( ..., "sage.server.notebook.interact.update(..., \\"x\\", ..., sage.server.notebook.interact.standard_b64decode(\\""+encode64(NULL)+"\\"), globals())")'486 'interact(0, "sage.server.notebook.interact.update(0, \\"x\\", 14, " + (encode64(NULL)==encode64("")?"\\"\\"":"sage.server.notebook.interact.standard_b64decode(\\""+encode64(NULL)+"\\")") + ", globals())")' 487 487 """ 488 488 # The following is a crazy line to read because of all the backslashes and try/except. 489 489 # All it does is run the interact function once after setting exactly one 490 490 # dynamic variable. If setting the dynamic variable fails, due to a KeyError 491 s = 'interact(%s, "sage.server.notebook.interact.update(%s, \\"%s\\", %s, sage.server.notebook.interact.standard_b64decode(\\""+encode64(%s)+"\\"), globals())")'%(492 self.cell_id(), self.cell_id(), self.var(), self.adapt_number(), self.value_js(*args) )491 s = 'interact(%s, "sage.server.notebook.interact.update(%s, \\"%s\\", %s, " + (encode64(%s)==encode64("")?"\\"\\"":"sage.server.notebook.interact.standard_b64decode(\\""+encode64(%s)+"\\")") + ", globals())")'%( 492 self.cell_id(), self.cell_id(), self.var(), self.adapt_number(), self.value_js(*args), self.value_js(*args)) 493 493 return s 494 494 495 495 def var(self): … … 598 598 599 599 EXAMPLES: 600 600 sage: sage.server.notebook.interact.InputBox('theta', 1).render() 601 '<input type=\'text\' value=\'1\' size=80 onchange=\' interact(0, "sage.server.notebook.interact.update(0, \\"theta\\", ..., sage.server.notebook.interact.standard_b64decode(\\""+encode64(this.value)+"\\"), globals())")\'></input>'601 '<input type=\'text\' value=\'1\' size=80 onchange=\'...\'></input>' 602 602 """ 603 603 if self.__type is bool: 604 604 return """<input type='checkbox' %s width=200px onchange='%s'></input>"""%(