def from_pod(pod): instance = super(RunState, RunState).from_pod(pod) instance.status = Status.from_pod(pod['status']) instance.timestamp = pod['timestamp'] jss = [JobState.from_pod(j) for j in pod['jobs']] instance.jobs = OrderedDict(((js.id, js.iteration), js) for js in jss) return instance
def from_pod(pod): pod = JobState._upgrade_pod(pod) instance = JobState(pod['id'], pod['label'], pod['iteration'], Status.from_pod(pod['status'])) instance.retries = pod['retries'] instance.timestamp = pod['timestamp'] return instance
def from_pod(pod): instance = super(Result, Result).from_pod(pod) instance.status = Status.from_pod(pod['status']) instance.metrics = [Metric.from_pod(m) for m in pod['metrics']] instance.artifacts = [Artifact.from_pod(a) for a in pod['artifacts']] instance.events = [Event.from_pod(e) for e in pod['events']] instance.classifiers = pod.get('classifiers', OrderedDict()) instance.metadata = pod.get('metadata', OrderedDict()) return instance
def _pod_upgrade_v1(pod): pod['_pod_version'] = pod.get('_pod_version', 1) pod['status'] = Status(pod['status']).to_pod() return pod
def set_status(self, status, force=False): status = Status(status) if force or self.status < status: self.status = status