Changeset 2963
- Timestamp:
- 08/21/08 19:34:22 (3 months ago)
- Files:
-
- branches/feature-worker/lib/MT/Tool.pm (modified) (1 diff)
- branches/feature-worker/t/tool.t (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/feature-worker/lib/MT/Tool.pm
r2962 r2963 60 60 my @options = $class->options(); 61 61 62 my $addl_settings = ref $options[0] ? $options[0] : {}; 62 my $addl_settings = @options && ref $options[0] ? $options[0] : {}; 63 my ($opts_good, $help, $usage, $verbose); 63 64 my %addl_options = ( 64 'help!' => \$ addl_settings{help},65 'usage!' => \$ addl_settings{usage},66 'verbose|v+' => \$ addl_settings{verbose},65 'help!' => \$help, 66 'usage!' => \$usage, 67 'verbose|v+' => \$verbose, 67 68 ); 68 69 69 my $opts_good = GetOptions(@options, 70 ref $options[0] ? keys %addl_options : %addl_options); 71 72 if (!$opts_good || $addl_settings->{usage}) { 70 if (@options && ref $options[0]) { 71 $opts_good = GetOptions(@options, keys %addl_options); 72 ($help, $usage, $verbose) = @$addl_settings{qw( help usage verbose )}; 73 } 74 else { 75 $opts_good = GetOptions(@options, %addl_options); 76 } 77 78 if (!$opts_good || $usage) { 73 79 $class->show_usage(); 74 80 exit; 75 81 } 76 if ($ addl_settings->{help}) {82 if ($help) { 77 83 $class->show_help(); 78 84 exit; 79 85 } 80 86 81 return $ addl_settings->{verbose};87 return $verbose; 82 88 } 83 89
