# Program : Filter.rb
#  Input : File name
#  Output : LaTeX - description or item source code that is intended to be \input{}

# Global variable __LEVEL__ sets the level that is to be printed.
#  example) if __LEVEL__ = 2, 1 XXX is not printed 
$LEVEL = 1
$WHAT = "enumerate"

def process(filename_)
  f = File.new('res.tex','w')
  f << "\\begin{#{$WHAT}}\n"
  File.open(filename_) do |file|
    file.each_line do
      |line|
      if line =~ /^(\d+)\s:\s(.*)$/ # $1 -> number, $2 -> string 
        if ($LEVEL <= $1.to_i)
          f << '\item ' << $2 << "\n"
        end
      else
        puts 'No match'
      end
    end
  end
  f << "\\end{#{$WHAT}}\n"
  f.close()
end

if $0 == __FILE__
  # Argument Check
  if ARGV.length > 1
    puts "Usage : " + $0 + " filename"
    exit
  end
  puts 'processing >> ' + ARGV[0]
  file = ARGV[0]
  process(file)
end