diff options
author | Prabhu Ramachandran | 2016-12-20 16:53:17 +0530 |
---|---|---|
committer | GitHub | 2016-12-20 16:53:17 +0530 |
commit | 77e8a6c1cde9190daf9075d71caf6017dc1380e7 (patch) | |
tree | c0d4a002bba428269c2f7ba62eb68d24b8cbec5f /yaksh/language_registry.py | |
parent | 1400eeb1d5af1cd1d69e015a19a319ab35d357c4 (diff) | |
parent | bf5b4e7607bae0b81ceeb99e8bf5d750433e92e8 (diff) | |
download | online_test-77e8a6c1cde9190daf9075d71caf6017dc1380e7.tar.gz online_test-77e8a6c1cde9190daf9075d71caf6017dc1380e7.tar.bz2 online_test-77e8a6c1cde9190daf9075d71caf6017dc1380e7.zip |
Merge pull request #163 from ankitjavalkar/code-server-refactor2016-form
Code Evaluator refactoring
Diffstat (limited to 'yaksh/language_registry.py')
-rw-r--r-- | yaksh/language_registry.py | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/yaksh/language_registry.py b/yaksh/language_registry.py index 0e0140b..994e9ed 100644 --- a/yaksh/language_registry.py +++ b/yaksh/language_registry.py @@ -14,15 +14,11 @@ def get_registry(): registry = _LanguageRegistry() return registry -def unpack_json(json_data): - data = json.loads(json_data) - return data - -def create_evaluator_instance(language, test_case_type, json_data, in_dir): +def create_evaluator_instance(metadata, test_case): """Create instance of relevant EvaluateCode class based on language""" registry = get_registry() - cls = registry.get_class(language, test_case_type) - instance = cls(in_dir) + cls = registry.get_class(metadata.get('language'), test_case.get('test_case_type')) + instance = cls(metadata, test_case) return instance class _LanguageRegistry(object): @@ -36,8 +32,8 @@ class _LanguageRegistry(object): """ Get the code evaluator class for the given language """ 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 |