summaryrefslogtreecommitdiff
path: root/server/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/__init__.py')
-rw-r--r--server/__init__.py30
1 files changed, 26 insertions, 4 deletions
diff --git a/server/__init__.py b/server/__init__.py
index f2c73b7..9f2469d 100644
--- a/server/__init__.py
+++ b/server/__init__.py
@@ -3,8 +3,28 @@
import multiprocessing.managers
from . import user_session
from . import prolog_session
+import server.problems
-__all__ = ['user_session']
+__all__ = ['user_session', 'prolog_session', 'problems', 'start']
+
+class Codeq(object):
+ _method_to_typeid_ = {
+ 'get_session_by_id': 'UserSession',
+ 'get_or_create_session': 'UserSession',
+ 'authenticate_and_create_session': 'UserSession'
+ }
+
+ def get_session_by_id(self, sid):
+ return user_session.get_session_by_id(sid)
+
+ def get_or_create_session(self, uid, username, sid=None):
+ return user_session.get_or_create_session(uid, username, sid)
+
+ def authenticate_and_create_session(self, username, password):
+ return user_session.authenticate_and_create_session(username, password)
+
+ def list_problems_in_groups(self, language):
+ return server.problems.list_problems_in_groups(language)
class CodeqManager(multiprocessing.managers.BaseManager):
pass
@@ -14,9 +34,11 @@ class UserSessionProxy(multiprocessing.managers.BaseProxy):
CodeqManager.register('PrologSession')
CodeqManager.register('UserSession', proxytype=UserSessionProxy)
-CodeqManager.register('get_session_by_id', callable=user_session.get_session_by_id, proxytype=UserSessionProxy)
-CodeqManager.register('get_or_create_session', callable=user_session.get_or_create_session, proxytype=UserSessionProxy)
-CodeqManager.register('authenticate_and_create_session', callable=user_session.authenticate_and_create_session, proxytype=UserSessionProxy)
+#CodeqManager.register('get_session_by_id', callable=user_session.get_session_by_id, proxytype=UserSessionProxy)
+#CodeqManager.register('get_or_create_session', callable=user_session.get_or_create_session, proxytype=UserSessionProxy)
+#CodeqManager.register('authenticate_and_create_session', callable=user_session.authenticate_and_create_session, proxytype=UserSessionProxy)
+#CodeqManager.register('list_problems_in_groups', callable=server.problems.list_problems_in_groups)
+CodeqManager.register('Codeq', callable=Codeq, method_to_typeid=Codeq._method_to_typeid_)
def start():
m = CodeqManager(address=('localhost', 16231), authkey=b'c0d3q3y')