--- bin/ldap2model.pl 2008/05/01 13:41:44 102 +++ bin/ldap2model.pl 2008/05/01 14:30:06 103 @@ -6,18 +6,35 @@ # # 04/30/08 20:55:21 CEST Dobrica Pavlinusic # -# ./bin/ldap2model.pl data/all.ldif hrEduOrg +# ./bin/ldap2model.pl --model hrEduOrg --path data/all.ldif +use lib 'lib'; + +use Jifty; +use A3C::LDAP; use Net::LDAP::Schema; use File::Slurp; use Data::Dump qw/dump/; +use Getopt::Long; -my ( $path, $objectClass ) = @ARGV; - -die "usage: $0 path/to/schema.ldif inetOrgPerson\n" unless $path && $objectClass; +my ( $path, $objectClass ); -my $schema = Net::LDAP::Schema->new; -$schema->parse ( $path ) or die $schema->error; +GetOptions( + 'model|objectClass=s', => \$objectClass, + 'path=s', => \$path, +); + +die "usage: $0 --model netOrgPerson [--path path/to/schema.ldif]\n" unless $objectClass; + +my $schema; +if ( $path ) { + $schema = Net::LDAP::Schema->new; + $schema->parse ( $path ) or die $schema->error; + warn "# loaded schema from $path\n"; +} else { + my $l = A3C::LDAP->new; + $schema = $l->ldap->schema; +} die "$objectClass objectClass not found in $path\n" unless $schema->objectclass( $objectClass );