Commit dbb97bb9 authored by Kev's avatar Kev

Add section_options to job line

parent 711729e1
......@@ -104,11 +104,12 @@ module Gitlab
action = scanner[1]
timestamp = scanner[2]
section = scanner[3]
options = parse_section_options(scanner[4])
section_name = sanitize_section_name(section)
if action == "start"
handle_section_start(scanner, section_name, timestamp)
handle_section_start(scanner, section_name, timestamp, options)
elsif action == "end"
handle_section_end(scanner, section_name, timestamp)
else
......@@ -116,11 +117,11 @@ module Gitlab
end
end
def handle_section_start(scanner, section, timestamp)
def handle_section_start(scanner, section, timestamp, options)
# We make a new line for new section
flush_current_line
@state.open_section(section, timestamp)
@state.open_section(section, timestamp, options)
# we need to consume match after handling
# the open of section, as we want the section
......@@ -157,6 +158,20 @@ module Gitlab
def sanitize_section_name(section)
section.to_s.downcase.gsub(/[^a-z0-9]/, '-')
end
def parse_section_options(raw_options)
return unless raw_options
# We need to remove the square brackets and split
# by comma to get a list of the options
options = raw_options[1...-1].split ","
# Now split each option by equals to separate
# each in the format [key, value]
options = options.map{ |option| option.split "=" }
options.to_h
end
end
end
end
......
......@@ -32,7 +32,7 @@ module Gitlab
end
attr_reader :offset, :sections, :segments, :current_segment,
:section_header, :section_duration
:section_header, :section_duration, :section_options
def initialize(offset:, style:, sections: [])
@offset = offset
......@@ -68,6 +68,10 @@ module Gitlab
@sections << section
end
def set_section_options(options)
@section_options = options
end
def set_as_section_header
@section_header = true
end
......@@ -90,6 +94,7 @@ module Gitlab
result[:section] = sections.last if sections.any?
result[:section_header] = true if @section_header
result[:section_duration] = @section_duration if @section_duration
result[:section_options] = @section_options if @section_options
end
end
end
......
......@@ -26,10 +26,11 @@ module Gitlab
Base64.urlsafe_encode64(state.to_json)
end
def open_section(section, timestamp)
def open_section(section, timestamp, options)
@open_sections[section] = timestamp
@current_line.add_section(section)
@current_line.set_section_options(options)
@current_line.set_as_section_header
end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment