--- trunk/lib/WebPAC/Output/SWISH.pm 2009/04/24 16:58:09 1149 +++ trunk/lib/WebPAC/Output/SWISH.pm 2009/04/25 17:11:33 1165 @@ -8,12 +8,13 @@ use base qw/WebPAC::Common Class::Accessor/; __PACKAGE__->mk_accessors(qw( database + input type index_path )); -use File::Path qw/make_path/; +use File::Path qw/mkpath/; use Data::Dump qw/dump/; use YAML; use JSON; @@ -63,7 +64,7 @@ my $database = $self->database || $log->logdie("need database"); - make_path $dir if ! -e $dir; + mkpath $dir if ! -e $dir; my $path = "$dir/$database.conf"; @@ -129,12 +130,14 @@ sub add { my ($self,$id,$ds) = @_; + die "need input" unless $self->input; + my $log = $self->_get_logger; $log->debug("id: $id ds = ",sub { dump($ds) }); my $database = $self->database || $log->logconfess('no database in $self'); - my $uri = $self->database . "/$id"; + my $uri = $self->database . '/' . $self->input . "/$id"; $log->debug("creating $uri"); # filter all tags which have type defined @@ -147,7 +150,9 @@ return unless (@tags); - my $xml = qq{}; + my $xml = qq{}; + + $xml .= "<$_>" . $self->$_ . "" foreach ( 'database', 'input' ); my $data; @@ -161,9 +166,11 @@ next if ! $vals; $vals =~ s/($escape_re)/$escape{$1}/gs; - $xml .= qq{<$tag>}; + # BW & EW are our markers for tag boundry + $xml .= qq{<$tag>}; $self->{stats}->{attr}->{$tag}++; + $self->{stats}->{input}->{ $self->input }->{$tag}++; $data->{$tag} = $vals; } @@ -172,7 +179,7 @@ $data = to_json($data); $xml .= qq{}; - $xml .= qq{\n}; + $xml .= qq{\n}; my $len = length($xml); @@ -181,7 +188,7 @@ print $fh "Path-Name: $uri\nContent-Length: $len\nDocument-Type: XML\n\n$xml" or die "can't add $uri: $@\n$xml"; - warn "$xml\n"; + $log->debug( $xml ); return 1; }