def run(update, context): # global command, lang text = update.message.text if text.startswith('/'): command = text.split(' ')[0] lang = command[1:] if lang not in ['crystal', 'nim', 'j', 'mathematica', 'red']: return try: code = text[len(command):] except: return request = TioRequest(lang=lang, code="") if lang == 'j': set_code = 'echo' + code elif lang == 'red': set_code = f""" Red [] {code} """ else: set_code = code request.set_code(set_code) tio = Tio() data = tio.send(request) if data.error: output = data.error else: output = data.result update.message.reply_text( "*[{}]*\n*Input*: `{}`".format(lang.upper(), str(code)) + "\n\n*Output*: `{}`".format(output), parse_mode=ParseMode.MARKDOWN)
def test_valid_python2_request(self): request = TioRequest(lang='python2', code="print \"Hello, World!\"") response = self.tio.send(request) self.assertIsNone(response.error) if platform.python_version() >= '3.0': self.assertIsInstance(response.result, str) else: # noinspection PyUnresolvedReferences self.assertIsInstance(response.result, (unicode, str)) self.assertEqual(response.result.strip('\n'), "Hello, World!")
def test_invalid_apl_request(self): request = TioRequest(lang='apl-dyalog', code="I'm a teapot!") response = self.tio.send(request) self.assertIsNone(response.result) if platform.python_version() >= '3.0': self.assertIsInstance(response.error, str) else: # noinspection PyUnresolvedReferences self.assertIsInstance(response.error, (unicode, str)) self.assertIn('unbalanced quotes detected', response.error)
def test_invald_python3_request(self): request = TioRequest(lang='python3', code="I'm a teapot!") response = self.tio.send(request) self.assertIsNone(response.result) if platform.python_version() >= '3.0': self.assertIsInstance(response.error, str) else: # noinspection PyUnresolvedReferences self.assertIsInstance(response.error, (unicode, str)) self.assertIn('EOL while scanning string literal', response.error)
def run_programming_language(language, input_file): with open(input_file, 'r') as f: data = f.read() tio = Tio() request = TioRequest(lang=language, code=data) response = tio.send(request) if response.error: print(response.error) sys.exit(1) return response.result
def run_programming_language(language, input_file): import click from pytio import Tio, TioRequest from pathlib import Path data = Path(input_file).read_text() request = TioRequest(lang=language, code=data) response = Tio().send(request) if response.error: click.echo(response.error) return not_found = f"The language '{language}' could not be found on the server.\n" if response.result == not_found: search_languages(language) click.echo(response.result)