def get_include_data(line)
return IO.read(line.include_file_path) if line.include_file_options.nil?
case line.include_file_options[0]
when ':lines'
include_file_lines = line.include_file_options[1].gsub('"', '').split('-')
include_file_lines[0] = include_file_lines[0].empty? ? 1 : include_file_lines[0].to_i
include_file_lines[1] = include_file_lines[1].to_i if !include_file_lines[1].nil?
line_index = 1
include_data = []
File.open(line.include_file_path, "r") do |fd|
while line_data = fd.gets
if (line_index >= include_file_lines[0] and (include_file_lines[1].nil? or line_index < include_file_lines[1]))
include_data << line_data.chomp
end
line_index += 1
end
end
when 'src', 'example', 'quote'
begin_tag = '#+BEGIN_%s' % [line.include_file_options[0].upcase]
if line.include_file_options[0] == 'src' and !line.include_file_options[1].nil?
begin_tag += ' ' + line.include_file_options[1]
end
end_tag = '#+END_%s' % [line.include_file_options[0].upcase]
include_data = "%s\n%s\n%s" % [begin_tag, IO.read(line.include_file_path), end_tag]
else
include_data = []
end
include_data
end