summaryrefslogtreecommitdiff
path: root/testapp
diff options
context:
space:
mode:
Diffstat (limited to 'testapp')
-rw-r--r--testapp/README.rst48
-rwxr-xr-xtestapp/exam/code_server.py2
-rw-r--r--testapp/exam/evaluators/__init__.py0
-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.py15
-rwxr-xr-xtestapp/manage.py14
-rw-r--r--testapp/production.py11
-rw-r--r--testapp/settings.py193
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'