def load()

in pipe-cli/src/model/pipeline_run_model.py [0:0]


    def load(cls, result):
        instance = cls()
        instance.identifier = result['id']
        if 'pipelineId' in result:
            instance.pipeline_id = result['pipelineId']
        if 'pipelineName' in result:
            instance.pipeline = result['pipelineName']
        elif 'dockerImage' in result:
            parts = result['dockerImage'].split('/')
            instance.pipeline = parts[len(parts) - 1]
        else:
            instance.pipeline = 'CMD'
        if 'version' in result:
            instance.version = result['version']
        instance.status = result['status']
        if 'startDate' in result:
            instance.scheduled_date = date_utilities.server_date_representation(result['startDate'])
        if 'endDate' in result:
            instance.end_date = date_utilities.server_date_representation(result['endDate'])
        if 'owner' in result:
            instance.owner = result['owner']
        if 'serviceUrl' in result:
            instance.endpoints = cls.parse_service_urls(result['serviceUrl'].items())
        if 'pipelineRunParameters' in result:
            for parameter in result['pipelineRunParameters']:
                if 'value' in parameter and 'name' in parameter:
                    instance.parameters.append(PipelineRunParameterModel(parameter['name'], parameter['value'], None, False))
                    if parameter['name'] == 'parent-id' and parameter['value'] != 0:
                        instance.parent_id = parameter['value']
                elif 'name' in parameter:
                    instance.parameters.append(PipelineRunParameterModel(parameter['name'], None, None, False))
        if 'instance' in result:
            instance.instance = result['instance'].items()
        if 'podIP' in result:
            instance.pod_ip = result['podIP']
        if 'sshPassword' in result:
            instance.ssh_pass = result['sshPassword']
        node_ip_exists = False
        for (key, value) in instance.instance:
            if key == 'nodeIP':
                node_ip_exists = True
        if instance.status is not None and instance.status.upper() == 'RUNNING' and \
                (instance.instance is None or not node_ip_exists):
            instance.status = 'SCHEDULED'

        if 'runSids' in result and result['runSids'] is not None and len(result['runSids']) > 0:
            for item in result['runSids']:
                instance.run_sids.append(RunSid(item.get('name', None), item.get('isPrincipal', None),
                                                item.get('accessType', 'ENDPOINT')))

        if 'sensitive' in result:
            instance.sensitive = result['sensitive']

        if 'tags' in result:
            instance.tags = result['tags']
            instance_tags_list = []
            for tag_name in instance.tags:
                tag_value = instance.tags[tag_name]
                if tag_name.lower() == tag_value.lower() or tag_value.lower() == 'true': 
                    instance_tags_list.append(tag_name)
                elif tag_name.endswith('_date'):
                    continue
                else:
                    instance_tags_list.append('{}={}'.format(tag_name, tag_value))
            if len(instance_tags_list) == 0:
                instance.tags_str = 'N/A'
            else:
                instance.tags_str = ','.join(instance_tags_list)
        else:
            instance.tags_str = 'N/A'

        instance.platform = result.get('platform')

        return instance