--- trunk/lib/WebPAC/Parser.pm 2006/09/25 13:08:17 702 +++ trunk/lib/WebPAC/Parser.pm 2006/09/25 13:24:09 703 @@ -17,11 +17,11 @@ =head1 VERSION -Version 0.04 +Version 0.05 =cut -our $VERSION = '0.04'; +our $VERSION = '0.05'; =head1 SYNOPSIS @@ -61,20 +61,80 @@ $log->logdie("can't iterate_inputs over this config object") unless ($self->{config}->can('iterate_inputs')); - $self->read_sources; + $self->_read_sources; $self ? return $self : return undef; } -=head2 read_sources +=head2 lookup_create_rules + + my $source = $parser->lookup_create_rules($database, $input); + +=cut + +sub lookup_create_rules { + my $self = shift; + my ($database,$input) = @_; + return $self->{_lookup_create}->{ _q($database) }->{ _q($input) }; +} + +=head2 valid_database + + my $ok = $parse->valid_database('key'); + +=cut + +sub valid_database { + my $self = shift; + + my $database = shift || return; + + return defined($self->{valid_inputs}->{ _q($database) }); +} + +=head2 valid_database_input + + my $ok = $parse->valid_database('database_key','input_name'); + +=cut + +sub valid_database_input { + my $self = shift; + + my ($database,$input) = @_; + return defined($self->{valid_inputs}->{ _q($database) }->{ _q($input) }); +} + +=head2 depends + +Return all databases and inputs on which specified one depends + + $depends_on = $parser->depends('database','input'); + +=cut + +sub depends { + my $self = shift; + my ($database,$input) = @_; + $self->_get_logger->debug("depends($database,$input)"); + return unless ( + defined( $self->{depends}->{ _q($database) } ) && + defined( $self->{depends}->{ _q($database) }->{ _q($input) } ) + ); + return $self->{depends}->{ _q($database) }->{ _q($input) }; +} + +=head1 PRIVATE + +=head2 _read_sources - my $source_files = $parser->read_sources; + my $source_files = $parser->_read_sources; Called by L. =cut -sub read_sources { +sub _read_sources { my $self = shift; my $log = $self->_get_logger(); @@ -105,7 +165,7 @@ $self->{valid_inputs}->{$database}->{$input_name}++; push @lookups, sub { - $self->parse_lookups( $database, $input_name, $full, $s ); + $self->_parse_lookups( $database, $input_name, $full, $s ); }; $nr++; @@ -120,17 +180,17 @@ return $nr; } -=head2 parse_lookups +=head2 _parse_lookups - $parser->parse_lookups($database,$input,$path,$source); + $parser->_parse_lookups($database,$input,$path,$source); -Called for each normalize source in each input by L +Called for each normalize source (rules) in each input by L It will report invalid databases and inputs in error log after parsing. =cut -sub parse_lookups { +sub _parse_lookups { my $self = shift; my ($database, $input, $path, $source) = @_; @@ -267,66 +327,6 @@ } -=head2 lookup_create_rules - - my $source = $parser->lookup_create_rules($database, $input); - -=cut - -sub lookup_create_rules { - my $self = shift; - my ($database,$input) = @_; - return $self->{_lookup_create}->{ _q($database) }->{ _q($input) }; -} - -=head2 valid_database - - my $ok = $parse->valid_database('key'); - -=cut - -sub valid_database { - my $self = shift; - - my $database = shift || return; - - return defined($self->{valid_inputs}->{ _q($database) }); -} - -=head2 valid_database_input - - my $ok = $parse->valid_database('database_key','input_name'); - -=cut - -sub valid_database_input { - my $self = shift; - - my ($database,$input) = @_; - return defined($self->{valid_inputs}->{ _q($database) }->{ _q($input) }); -} - -=head2 depends - -Return all databases and inputs on which specified one depends - - $depends_on = $parser->depends('database','input'); - -=cut - -sub depends { - my $self = shift; - my ($database,$input) = @_; - $self->_get_logger->debug("depends($database,$input)"); - return unless ( - defined( $self->{depends}->{ _q($database) } ) && - defined( $self->{depends}->{ _q($database) }->{ _q($input) } ) - ); - return $self->{depends}->{ _q($database) }->{ _q($input) }; -} - -=head1 PRIVATE - =head2 _q Strip single or double quotes around value