(code, language_id)
| 93 | |
| 94 | |
| 95 | def run_code(code, language_id): |
| 96 | ideone_api = Ideone( |
| 97 | os.environ['IDEONE_USERNAME'], |
| 98 | os.environ['IDEONE_PASSWORD'], |
| 99 | api_url='http://ronreiter.compilers.sphere-engine.com/api/1/service.wsdl') |
| 100 | |
| 101 | code = ideone_api.create_submission(code, language_id=language_id, std_input="")["link"] |
| 102 | result = None |
| 103 | |
| 104 | while True: |
| 105 | time.sleep(1) |
| 106 | result = ideone_api.submission_details(code) |
| 107 | if result["status"] in [1,3]: |
| 108 | continue |
| 109 | |
| 110 | break |
| 111 | |
| 112 | data = { "code" : code } |
| 113 | if result["stderr"] or result["cmpinfo"]: |
| 114 | data["output"] = "exception" |
| 115 | if result["cmpinfo"]: |
| 116 | data["text"] = result["cmpinfo"] |
| 117 | elif result["stderr"]: |
| 118 | data["text"] = result["stderr"] |
| 119 | else: |
| 120 | data["output"] = "text" |
| 121 | data["text"] = result["output"] |
| 122 | |
| 123 | return data |
| 124 | |
| 125 | |
| 126 | def pageurl(value, language): |
no test coverage detected