diff options
Diffstat (limited to 'testapp')
-rw-r--r-- | testapp/README.rst | 48 | ||||
-rwxr-xr-x | testapp/exam/code_server.py | 2 | ||||
-rw-r--r-- | testapp/exam/evaluators/__init__.py | 0 | ||||
-rw-r--r-- | testapp/exam/evaluators/bash_code_evaluator.py (renamed from testapp/exam/bash_code_evaluator.py) | 0 | ||||
-rw-r--r-- | testapp/exam/evaluators/code_evaluator.py (renamed from testapp/exam/code_evaluator.py) | 0 | ||||
-rw-r--r-- | testapp/exam/evaluators/cpp_code_evaluator.py (renamed from testapp/exam/cpp_code_evaluator.py) | 0 | ||||
-rw-r--r-- | testapp/exam/evaluators/java_code_evaluator.py (renamed from testapp/exam/java_code_evaluator.py) | 0 | ||||
-rw-r--r-- | testapp/exam/evaluators/language_registry.py (renamed from testapp/exam/language_registry.py) | 0 | ||||
-rw-r--r-- | testapp/exam/evaluators/python_code_evaluator.py (renamed from testapp/exam/python_code_evaluator.py) | 0 | ||||
-rw-r--r-- | testapp/exam/evaluators/scilab_code_evaluator.py (renamed from testapp/exam/scilab_code_evaluator.py) | 0 | ||||
-rw-r--r-- | testapp/exam/settings.py | 15 | ||||
-rwxr-xr-x | testapp/manage.py | 14 | ||||
-rw-r--r-- | testapp/production.py | 11 | ||||
-rw-r--r-- | testapp/settings.py | 193 |
14 files changed, 9 insertions, 274 deletions
diff --git a/testapp/README.rst b/testapp/README.rst deleted file mode 100644 index e6f8380..0000000 --- a/testapp/README.rst +++ /dev/null @@ -1,48 +0,0 @@ -=============== -Online Exam -=============== - -Online test application lets user(student) take an online programming test. -A special user called moderator can add questions, create question paper, -conduct online test and monitor the test. - - -Quick start ------------- - -1. In your terminal run the following command:: - $ easy_install git+https://github.com/FOSSEE/online_test.git#egg=django_exam-0.1 - -2. Add "testapp.exam", "taggit" and "taggit_autocomplete_modified" apps - to your INSTALLED_APPS setting as follows:: - - INSTALLED_APPS =( - 'testapp.exam', - 'taggit', - 'taggit_autocomplete_modified', - ) - -3. In project settings, add AUTH_PROFILE_MODULE = 'testapp.exam.Profile' - You can change the testapp.exam.Profile to your desired app user profile. - -4. Include the "testapp.exam" and taggit_autocomplete_modified URL configuration - in your project urls.py as follows:: - - url(r'^exam/', include('testapp.exam.urls')), - url(r'^taggit_autocomplete_modified/', include\ - ('taggit_autocomplete_modified.urls')) - - -5. Run 'python manage.py syncdb' to create models for the new installed apps. - -6. Run 'python manage.py runserver' to start the development server - and visit http://localhost:8000/exam/ - -7. Run code_server command as superuser as follows:: - - $ sudo code_server - - Note: If you are using virtual python environment, then activate the environment - using sudo. Then simply run the code_server command as follows:: - - $ code_server diff --git a/testapp/exam/code_server.py b/testapp/exam/code_server.py index 1411ded..7c675cb 100755 --- a/testapp/exam/code_server.py +++ b/testapp/exam/code_server.py @@ -31,7 +31,7 @@ import re import json # Local imports. from settings import SERVER_PORTS, SERVER_POOL_PORT -from language_registry import get_registry, set_registry +from evaluators.language_registry import get_registry, set_registry MY_DIR = abspath(dirname(__file__)) diff --git a/testapp/exam/evaluators/__init__.py b/testapp/exam/evaluators/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/testapp/exam/evaluators/__init__.py diff --git a/testapp/exam/bash_code_evaluator.py b/testapp/exam/evaluators/bash_code_evaluator.py index a468fd7..a468fd7 100644 --- a/testapp/exam/bash_code_evaluator.py +++ b/testapp/exam/evaluators/bash_code_evaluator.py diff --git a/testapp/exam/code_evaluator.py b/testapp/exam/evaluators/code_evaluator.py index 381b2e8..381b2e8 100644 --- a/testapp/exam/code_evaluator.py +++ b/testapp/exam/evaluators/code_evaluator.py diff --git a/testapp/exam/cpp_code_evaluator.py b/testapp/exam/evaluators/cpp_code_evaluator.py index 7242884..7242884 100644 --- a/testapp/exam/cpp_code_evaluator.py +++ b/testapp/exam/evaluators/cpp_code_evaluator.py diff --git a/testapp/exam/java_code_evaluator.py b/testapp/exam/evaluators/java_code_evaluator.py index 4367259..4367259 100644 --- a/testapp/exam/java_code_evaluator.py +++ b/testapp/exam/evaluators/java_code_evaluator.py diff --git a/testapp/exam/language_registry.py b/testapp/exam/evaluators/language_registry.py index 76a23d7..76a23d7 100644 --- a/testapp/exam/language_registry.py +++ b/testapp/exam/evaluators/language_registry.py diff --git a/testapp/exam/python_code_evaluator.py b/testapp/exam/evaluators/python_code_evaluator.py index 0c473cf..0c473cf 100644 --- a/testapp/exam/python_code_evaluator.py +++ b/testapp/exam/evaluators/python_code_evaluator.py diff --git a/testapp/exam/scilab_code_evaluator.py b/testapp/exam/evaluators/scilab_code_evaluator.py index 392cd45..392cd45 100644 --- a/testapp/exam/scilab_code_evaluator.py +++ b/testapp/exam/evaluators/scilab_code_evaluator.py diff --git a/testapp/exam/settings.py b/testapp/exam/settings.py index 93f90a9..5d3fb15 100644 --- a/testapp/exam/settings.py +++ b/testapp/exam/settings.py @@ -19,10 +19,11 @@ SERVER_TIMEOUT = 2 # host.org/foo/exam set URL_ROOT='/foo' URL_ROOT = '' -code_evaluators = {"python": "python_code_evaluator.PythonCodeEvaluator", - "c": "c_cpp_code_evaluator.CCPPCodeEvaluator", - "cpp": "c_cpp_code_evaluator.CCPPCodeEvaluator", - "java": "java_evaluator.JavaCodeEvaluator", - "bash": "bash_evaluator.BashCodeEvaluator", - "scilab": "scilab_evaluator.ScilabCodeEvaluator", - } +code_evaluators = { + "python": "evaluators.python_code_evaluator.PythonCodeEvaluator", + "c": "evaluators.c_cpp_code_evaluator.CCPPCodeEvaluator", + "cpp": "evaluators.c_cpp_code_evaluator.CCPPCodeEvaluator", + "java": "evaluators.java_evaluator.JavaCodeEvaluator", + "bash": "evaluators.bash_evaluator.BashCodeEvaluator", + "scilab": "evaluators.scilab_evaluator.ScilabCodeEvaluator", + } diff --git a/testapp/manage.py b/testapp/manage.py deleted file mode 100755 index 3e4eedc..0000000 --- a/testapp/manage.py +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env python -from django.core.management import execute_manager -import imp -try: - imp.find_module('settings') # Assumed to be in the same directory. -except ImportError: - import sys - sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n" % __file__) - sys.exit(1) - -import settings - -if __name__ == "__main__": - execute_manager(settings) diff --git a/testapp/production.py b/testapp/production.py deleted file mode 100644 index 8a1da98..0000000 --- a/testapp/production.py +++ /dev/null @@ -1,11 +0,0 @@ -from testapp.settings import * - -DEBUG = False -TEMPLATE_DEBUG = DEBUG -from testapp.local import * - -DATABASE_ENGINE = 'django.db.backends.mysql' -DATABASE_NAME = 'online_test' -DATABASE_USER = 'online_test_user' -# Imports DATABASE_PASSWORD from testapp/local.py that is not part of git repo -from testapp.local import DATABASE_PASSWORD diff --git a/testapp/settings.py b/testapp/settings.py deleted file mode 100644 index 88d4a5a..0000000 --- a/testapp/settings.py +++ /dev/null @@ -1,193 +0,0 @@ -# Django settings for tester project. - -from os.path import dirname, join, basename, abspath - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -# The root of the URL, for example you might be in the situation where you -# are not hosted as host.org/exam/ but as host.org/foo/exam/ for whatever -# reason set this to the root you have to serve at. In the above example -# host.org/foo/exam set URL_ROOT='/foo' -URL_ROOT = '' - -# Authentication using other database table. -# Comment the line below if you want the authentication to be done -# using django user table. -#AUTHENTICATION_BACKENDS = ('myauthentication.backend.MyBackend',) - -# Router for database -#DATABASE_ROUTERS = ['myauthentication.router.MyDatabaseRouter',] - -ADMINS = ( - # ('Your Name', 'your_email@example.com'), -) - -MANAGERS = ADMINS - -CURDIR = abspath(dirname(__file__)) -DB_FILE = join(CURDIR, 'exam.db') - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': DB_FILE, # Or path to database file if using sqlite3. - 'USER': '', # Not used with sqlite3. - 'PASSWORD': '', # Not used with sqlite3. - 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. - 'PORT': '', # Set to empty string for default. Not used with sqlite3. - }, - 'spoken_tutorial' : { - 'ENGINE' : 'django.db.backends.mysql', - 'NAME' : 'YOUR DATABASE', - 'USER' : 'YOUR USERNAME', - 'PASSWORD': 'YOUR PASSWORD', - 'HOST' :'', - 'PORT' :'', - } -} - -# Local time zone for this installation. Choices can be found here: -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name -# although not all choices may be available on all operating systems. -# On Unix systems, a value of None will cause Django to use the same -# timezone as the operating system. -# If running in a Windows environment this must be set to the same as your -# system time zone. -TIME_ZONE = 'Asia/Kolkata' - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE = 'en-us' - -SITE_ID = 1 - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True - -# If you set this to False, Django will not format dates, numbers and -# calendars according to the current locale -USE_L10N = True - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/home/media/media.lawrence.com/media/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash. -# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" -MEDIA_URL = '' - -# Absolute path to the directory static files should be collected to. -# Don't put anything in this directory yourself; store your static files -# in apps' "static/" subdirectories and in STATICFILES_DIRS. -# Example: "/home/media/media.lawrence.com/static/" -STATIC_ROOT = '/tmp/static/' - -# URL prefix for static files. -# Example: "http://media.lawrence.com/static/" -STATIC_URL = '/static/' - -# URL prefix for admin static files -- CSS, JavaScript and images. -# Make sure to use a trailing slash. -# Examples: "http://foo.com/static/admin/", "/static/admin/". -ADMIN_MEDIA_PREFIX = '/static/admin/' - -# Additional locations of static files -STATICFILES_DIRS = ( - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', - #'django.contrib.staticfiles.finders.DefaultStorageFinder', -) - -# Make this unique, and don't share it with anybody. -SECRET_KEY = '9h*01@*#3ok+lbj5k=ym^eb)e=rf-g70&n0^nb_q6mtk!r(qr)' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', - #'django.template.loaders.eggs.Loader', -) - -MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'debug_toolbar.middleware.DebugToolbarMiddleware', - -) - -ROOT_URLCONF = '%s.urls' % (basename(CURDIR)) - -TEMPLATE_DIRS = ( - # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -INSTALLED_APPS = ( - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # Uncomment the next line to enable the admin: - 'django.contrib.admin', - 'taggit', - # Uncomment the next line to enable admin documentation: - # 'django.contrib.admindocs', - 'exam', - 'taggit_autocomplete_modified', - 'debug_toolbar', -) - -# A sample logging configuration. The only tangible logging -# performed by this configuration is to send an email to -# the site admins on every HTTP 500 error. -# See http://docs.djangoproject.com/en/dev/topics/logging for -# more details on how to customize your logging configuration. -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'formatters': { - 'verbose': { - 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' - }, - 'simple': { - 'format': '%(levelname)s %(message)s' - }, - }, - 'handlers': { - 'console': { - 'level': 'DEBUG', - 'class': 'logging.StreamHandler', - 'formatter': 'simple' - }, - 'mail_admins': { - 'level': 'ERROR', - 'class': 'django.utils.log.AdminEmailHandler' - } - }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins', 'console'], - 'level': 'ERROR', - 'propagate': True, - }, - } -} - -AUTH_PROFILE_MODULE = 'exam.Profile' |