Newer
Older
Javier Vegas-Regidor
committed
class Diagnostic(object):
@staticmethod
def register(cls, alias):
try:
Diagnostic._diag_list[alias] = cls
except AttributeError:
Diagnostic._diag_list = dict()
Diagnostic._diag_list[alias] = cls
@staticmethod
def get_diagnostic(name):
"""
Return the class for a diagnostic given its name
:param name: diagnostic alias
:type name: str
:return: the selected Diagnostic class, None if name can not be found
:rtype: Diagnostic
"""
try:
if name in Diagnostic._diag_list.keys():
return Diagnostic._diag_list[name]
except AttributeError:
pass
return None
Javier Vegas-Regidor
committed
def __init__(self, data_manager):
self.data_manager = data_manager
self.required_vars = []
self.generated_vars = []
self.can_run_multiple_instances = True
def compute(self):
pass
@classmethod
def generate_jobs(cls, data_manager, startdates, members, chunks, options):
raise Exception("Class must override generate_jobs method")