from pythonize import strings strings() def input(*args): return prompt(args) def clearScreen(color=None): def clearScreenAsync(): element = document.getElementById('__terminal__') if element: element.innerHTML = '' if color: document.body.style.backgroundColor = color setTimeout(clearScreenAsync) def onKeyUp(e): if e.keyCode == 13: e.target.dispatchEvent(new Event('submit')) def inputAsync(cb=None): el = document.createElement('input') el.className = '__terminal__' el.onsubmit = def(e): if cb: if cb(el.value) in [undefined, True]: e.target.parentNode.removeChild(el) def scrolldown(): document.body.scrollTop = document.body.scrollHeight setTimeout(scrolldown) el.onkeyup = onKeyUp document.body.appendChild(el) el.focus() return el def ρσ_print(*args, **kwargs): end = "\n" sep = " " if 'end' in kwargs: end = kwargs['end'] def printAsync(): element = document.getElementById('__terminal__') if element: addition = sep.join([arg for arg in args]) + end previous = element.innerHTML element.innerHTML = previous + addition.replace('\n', '
') element.scrollTop = element.scrollHeight else: console.log (sep.join([str (arg) for arg in args])) setTimeout(printAsync) window.onerror = def(e): print(e)