summaryrefslogtreecommitdiff
path: root/yaksh/language_registry.py
diff options
context:
space:
mode:
authoradityacp2018-07-03 11:36:25 +0530
committeradityacp2018-07-03 11:36:25 +0530
commit637a75a5ea8fcae1e00c0200d52c471d50c8729a (patch)
tree9a2f13aaf80573fa44465031ccc6f895e7fdda0b /yaksh/language_registry.py
parent02705e4c676750291b6a5c4ea14e2947f29cb6c7 (diff)
parente3ad85ace916354ab96b23c1359ee72a6c2a740b (diff)
downloadonline_test-637a75a5ea8fcae1e00c0200d52c471d50c8729a.tar.gz
online_test-637a75a5ea8fcae1e00c0200d52c471d50c8729a.tar.bz2
online_test-637a75a5ea8fcae1e00c0200d52c471d50c8729a.zip
Update to latest changes
Diffstat (limited to 'yaksh/language_registry.py')
-rw-r--r--yaksh/language_registry.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/yaksh/language_registry.py b/yaksh/language_registry.py
index 994e9ed..ec5dae9 100644
--- a/yaksh/language_registry.py
+++ b/yaksh/language_registry.py
@@ -1,26 +1,29 @@
from __future__ import unicode_literals
import importlib
-import json
-import six
+import six
# Local imports
from .settings import code_evaluators
registry = None
-
+
+
def get_registry():
global registry
if registry is None:
registry = _LanguageRegistry()
return registry
+
def create_evaluator_instance(metadata, test_case):
"""Create instance of relevant EvaluateCode class based on language"""
registry = get_registry()
- cls = registry.get_class(metadata.get('language'), test_case.get('test_case_type'))
+ cls = registry.get_class(metadata.get('language'),
+ test_case.get('test_case_type'))
instance = cls(metadata, test_case)
return instance
+
class _LanguageRegistry(object):
def __init__(self):
self._register = {}
@@ -33,7 +36,6 @@ class _LanguageRegistry(object):
if not self._register.get(language):
self._register[language] = code_evaluators.get(language)
test_case_register = self._register[language]
-
cls = test_case_register.get(test_case_type)
module_name, class_name = cls.rsplit(".", 1)
# load the module, will raise ImportError if module cannot be loaded
@@ -45,4 +47,3 @@ class _LanguageRegistry(object):
def register(self, language, class_names):
""" Register a new code evaluator class for language"""
self._register[language] = class_names
-