def read(self, vals):
        """ Read values
    
        Args:
            vals (list): list of strings representing values
        """
        i = 0
        {%- for field in fields %}
        {%- if field.is_list %}
        count = int(vals[i])
        i += 1
        for _ in range(count):
            obj = {{field.object_name}}()
            obj.read(vals[i:i + obj.field_count])
            self.add_{{field.field_name}}(obj)
            i += obj.field_count
        {%- else %}
        if len(vals[i]) == 0:
            self.{{field.field_name}} = None
        else:
            self.{{field.field_name}} = vals[i]
        i += 1
        {%- endif %}
        {%- endfor %}
def read ( self , vals ) : i = 0 { % - for field in fields % } { % - if field . is_list % } count = int ( vals [ i ] ) i += 1 for _ in range ( count ) : obj = { { field . object_name } } ( ) obj . read ( vals [ i : i + obj . field_count ] ) self . add_ { { field . field_name } } ( obj ) i += obj . field_count { % - else % } if len ( vals [ i ] ) == 0 : self . { { field . field_name } } = None else : self . { { field . field_name } } = vals [ i ] i += 1 { % - endif % } { % - endfor % }
Read values
    
        Args:
            vals (list): list of strings representing values