Source code for jenni.models.jobbase
from abc import ABC
from typing import List
from jenni.models.itembase import ItemBase
from jenni.models.params import ParamBase
[docs]class JobBase(ItemBase, ABC):
"""
Base class for all types of jobs.
"""
@property
def parameters(self) -> List["jenni.models.params.ParamBase"]:
"""
:return: list of ParamBase instances
"""
return [value for value in self.__dict__.values() if isinstance(value, ParamBase)]
[docs] def has_parameter(self, name: str) -> bool:
"""
:return: True if job has specified parameter.
"""
for value in self.__dict__.values():
if isinstance(value, ParamBase) and value.name == name:
return True
return False
[docs] def get_parameter(self, name: str, exception_if_not_found=True) -> "ParamBase":
"""
:return: ParamBase instance, or None (if exception_if_not_found is False)
"""
for value in self.__dict__.values():
if isinstance(value, ParamBase) and value.name == name:
return value
if exception_if_not_found:
raise LookupError("No parameter with name " + name)
return None