329: def parse_options
330:
331: option_parser = OptionParser.new(self.class.banner)
332:
333:
334: Puppet.settings.optparse_addargs([]).each do |option|
335: option_parser.on(*option) do |arg|
336: handlearg(option[0], arg)
337: end
338: end
339:
340:
341:
342:
343: self.class.option_parser_commands.each do |options, fname|
344: option_parser.on(*options) do |value|
345:
346: self.send(fname, value)
347: end
348: end
349:
350:
351: begin
352: option_parser.parse!(self.command_line.args)
353: rescue OptionParser::ParseError => detail
354: $stderr.puts detail
355: $stderr.puts "Try 'puppet #{command_line.subcommand_name} --help'"
356: exit(1)
357: end
358: end