From 6239ca4595858262ac42a5e743d76653c9e61c4a Mon Sep 17 00:00:00 2001
From: Julian Blake Kongslie <jblake@omgwallhack.org>
Date: Tue, 31 May 2011 01:14:35 -0700
Subject: Real option parsing.

---
 pinyadmin/sbin/newuser | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

(limited to 'pinyadmin/sbin')

diff --git a/pinyadmin/sbin/newuser b/pinyadmin/sbin/newuser
index e6dd785..2a349fd 100755
--- a/pinyadmin/sbin/newuser
+++ b/pinyadmin/sbin/newuser
@@ -4,9 +4,10 @@ use strict;
 use warnings;
 
 use Email::Valid::Loose qw( );
+use Getopt::Tabular qw( );
 
-use Piny::Config;
-use Piny::User;
+#use Piny::Config;
+#use Piny::User;
 
 my ( $email, $username, $password );
 
@@ -19,10 +20,20 @@ my $checker = Email::Valid::Loose->new
   , "-tldcheck"    => 0
   );
 
+my ( $batchmode, $disableikiwiki ) = ( 0, 0 );
+
+# Argument parsing.
+Getopt::Tabular::SetOptionPatterns( "(--)[\\w-]+", "(-)\\w" );
+Getopt::Tabular::SetHelpOption( "--help" );
+Getopt::Tabular::GetOptions(
+  [ [ "--batch",                            "const",    1, \$batchmode,      "enable batch mode, for use as a backend by other scripts" ]
+  , [ "--disable-ikiwiki|--enable-ikiwiki", "boolean",  0, \$disableikiwiki, "disable creation of an ikiwiki site for this repo" ]
+  ], \@ARGV ) or exit 0;
+
 # Check to see if we're in batch mode.
-if ( scalar @ARGV == 3 and $ARGV[0] eq "--batch" ) {
+if ( $batchmode and scalar @ARGV == 2 ) {
 
-  ( undef, $email, $username ) = @ARGV;
+  ( $email, $username ) = @ARGV;
 
   $email = $checker->address( $email );
 
-- 
cgit v1.2.3