summaryrefslogtreecommitdiff
path: root/server
AgeCommit message (Collapse)Author
2015-10-10Use a selector instead of polling Python interpreterTimotej Lazar
2015-10-08Reworked session handling.Aleš Smodiš
* All requests have a session ID, except for the initial create_session system messages. * User session can be in an authenticated or anonymous state. * In anonymous state it is not possible to perform user actions. * Logout has been implemented. * Sessions timeout and are cleared after a period of inactivity (1 hour). * Bugfixed the lang setting handling. * Renamed get_problem -> get_current_solution, return only the user's current solution, not the whole problem data.
2015-10-07Bugfix: make the as yet unimplemented meta protocol not generate errors on ↵Aleš Smodiš
the Python side.
2015-10-07Add a sandbox for Python interpreterTimotej Lazar
Switch to user "nobody" and set additional limits.
2015-10-06Test user's program before looking for hintsTimotej Lazar
2015-10-06Bugfix: revert to request.session.update_settings() in the Settings class.Aleš Smodiš
2015-10-06sign up, update last_loginMarko Pušnik
2015-10-06change passwordMarko Pušnik
2015-10-05Add logging to file to python server. Configure logfile paths from ↵Aleš Smodiš
environment variables CODEQ_SERVER_LOG and CODEQ_WEB_LOG.
2015-10-05Bugfix: correctly handle python-nodejs transport using bytes.Aleš Smodiš
2015-10-04Unification of language session implementations. Added load_problem and ↵Aleš Smodiš
end_problem actions so handlers get appropriately created and destroyed upon loading and unloading the problem solving screen.
2015-09-30Add RobotSessionTimotej Lazar
Currently it does nothing useful.
2015-09-29removed some debug output and actually enabled writing into the DBRobert Zorko
2015-09-29added support to save settings, currently only 'lang' will actually be ↵Robert Zorko
saved, since it is the only one already in the database
2015-09-29Merge branch 'master' of ssh://212.235.189.51:22122/codeq-serverRobert Zorko
2015-09-29added settings to the user session and the login function now also returns ↵Robert Zorko
those settings - currently only gui language is implemented. The create.sql script is updated for that change as well.
2015-09-29Add HintPopup and set hint_type on Hint* classesTimotej Lazar
2015-09-23Kill Python interpreter on excessive outputTimotej Lazar
2015-09-22Merge branch 'master' of ssh://212.235.189.51:22122/codeq-serverMartin
2015-09-22Fix an inconsequential typoTimotej Lazar
2015-09-22Oops, overzealous copy/pasteTimotej Lazar
2015-09-22Create the hint-list in individual test functionsTimotej Lazar
This will allow us to add more hints, for example "did you know?"-type information when the program is correct.
2015-09-22Add support for execing the user's Python programTimotej Lazar
2015-09-21Merge branch 'master' of ssh://212.235.189.51:22122/codeq-serverMartin
2015-09-21Changed testing in util.pyMartin
Changed output when timeout occurs in Python
2015-09-18Set problems path via CODEQ_PROBLEMS environment variable.Aleš Smodiš
2015-09-18added a parameter to the get problems python function, which accepts the ↵Robert Zorko
language (either 'prolog' or 'python')
2015-09-18Send the plan definition in get_problem_dataTimotej Lazar
2015-09-18Simplify exceptions returned by PythonSession.runTimotej Lazar
Don't include the first stack entry or the filename (which is <string>).
2015-09-16Implement async. comm. with Python interpreterTimotej Lazar
Creating, destroying and communicationg with the interpreter subprocess is now handled by a thread attached to PythonSession. Interpreter is sandboxed using libseccomp.
2015-09-15Add handlers for python_{push,pull} requestsTimotej Lazar
Will be reimplemented asynchronously.
2015-09-15Bugfix: invert the packet length comparison in the TCP packet decode loop.Aleš Smodiš
2015-09-15Removed WSGI parts. They've been supplanted with the node app and the TCP ↵Aleš Smodiš
communication with the node app.
2015-09-15Augmented the readme with apache directives for proxying websocket directives.Aleš Smodiš
2015-09-14Add SID to JSON object in UserSession.sendTimotej Lazar
2015-09-14Reimplemented communication with the client side.Aleš Smodiš
* Implemented a node web server supporting asynchronous websocket and long-polling communication with clients. * Implemented TCP communication between python middleware and node web server.
2015-09-11Pass a list of solved problems to Prolog hint/testTimotej Lazar
This replaces the session parameter that was passed before but not used. Especially in the hint functions it will be useful in some cases to handle user's current code, previous solutions, and the facts library separately.
2015-09-11Pass PythonSession.run to hint and test functionsTimotej Lazar
No other session stuff is needed (for now).
2015-09-11Use Hint classes in PythonSessionTimotej Lazar
2015-09-11s/hint_defs/hint_type/gTimotej Lazar
2015-09-10Remove unneeded importTimotej Lazar
2015-09-10Add Hint classes for normal and sequence hintsTimotej Lazar
2015-09-08Check for syntax errors in python_session.hintTimotej Lazar
2015-09-04Add Python push&pull services to wsgi_serverTimotej Lazar
2015-09-03Pass the session object to test and hint functionsTimotej Lazar
2015-09-03Use multiprocessing.managers for the Python runnerTimotej Lazar
2015-09-01Change hard-coded language to Slovene for testingTimotej Lazar
2015-09-01Add Python support to wsgi_server.{Hint,Test}Timotej Lazar
2015-08-31Return problems for all languages in list_problemsTimotej Lazar
2015-08-31s/Problem.identifier()/Problem.get_identifier()Timotej Lazar