parse_metadata_line Subroutine

subroutine parse_metadata_line(line, parsed, section)

Parse one metadataProps line.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: line

Current metadata JSON line

type(json_parse_result_type), intent(inout) :: parsed

Parsed ONNX content accumulated so far

character(len=32), intent(inout) :: section

Current top-level JSON section name


Source Code

  subroutine parse_metadata_line(line, parsed, section)
    !! Parse one metadataProps line.
    implicit none

    ! Arguments
    character(*), intent(in) :: line
    !! Current metadata JSON line
    type(json_parse_result_type), intent(inout) :: parsed
    !! Parsed ONNX content accumulated so far
    character(32), intent(inout) :: section
    !! Current top-level JSON section name

    if(index(line, '"key"') .gt. 0 .and. index(line, '"value"') .gt. 0)then
       parsed%num_meta = parsed%num_meta + 1
       call extract_json_string(line, '"key"', &
            parsed%meta_keys(parsed%num_meta))
       call extract_json_string(line, '"value"', &
            parsed%meta_values(parsed%num_meta))
    end if

    if(index(line, ']') .gt. 0) section = ''

  end subroutine parse_metadata_line