diff options
author | prathamesh | 2013-07-02 13:15:24 +0530 |
---|---|---|
committer | prathamesh | 2013-07-02 13:15:24 +0530 |
commit | 37625e5c91f2bf957c6739981f7698e0d880b6ed (patch) | |
tree | 387e52fa104f9f3562dad3f7690bec7493730310 /testapp/exam/xmlrpc_clients.py | |
parent | fe868c043487af8ea390165325309ad29daacc8e (diff) | |
parent | 610709c2ff35263741ca6e41c3648439806b564a (diff) | |
download | online_test-37625e5c91f2bf957c6739981f7698e0d880b6ed.tar.gz online_test-37625e5c91f2bf957c6739981f7698e0d880b6ed.tar.bz2 online_test-37625e5c91f2bf957c6739981f7698e0d880b6ed.zip |
Merge branch 'C-Cpp' of https://github.com/prathamesh920/online_test into fresh_C_Cpp
Diffstat (limited to 'testapp/exam/xmlrpc_clients.py')
-rw-r--r-- | testapp/exam/xmlrpc_clients.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/testapp/exam/xmlrpc_clients.py b/testapp/exam/xmlrpc_clients.py index 817e37d..b846212 100644 --- a/testapp/exam/xmlrpc_clients.py +++ b/testapp/exam/xmlrpc_clients.py @@ -9,19 +9,24 @@ from settings import SERVER_PORTS, SERVER_POOL_PORT class ConnectionError(Exception): pass -################################################################################ +############################################################################### # `CodeServerProxy` class. -################################################################################ +############################################################################### + + class CodeServerProxy(object): """A class that manages accesing the farm of Python servers and making calls to them such that no one XMLRPC server is overloaded. """ def __init__(self): - pool_url = 'http://localhost:%d'%(SERVER_POOL_PORT) + pool_url = 'http://localhost:%d' % (SERVER_POOL_PORT) self.pool_server = ServerProxy(pool_url) self.methods = {"python": 'run_python_code', - "bash": 'run_bash_code'} - + "bash": 'run_bash_code', + "C": "run_c_code", + "C++": "run_cplus_code", + } + def run_code(self, answer, test_code, user_dir, language): """Tests given code (`answer`) with the `test_code` supplied. If the optional `in_dir` keyword argument is supplied it changes the directory @@ -68,11 +73,10 @@ class CodeServerProxy(object): else: done = True if not done: - raise ConnectionError("Couldn't connect to a server!") - proxy = ServerProxy('http://localhost:%d'%port) + raise ConnectionError("Couldn't connect to a server!") + proxy = ServerProxy('http://localhost:%d' % port) return proxy # views.py calls this Python server which forwards the request to one # of the running servers. code_server = CodeServerProxy() - |