--- Webpacus/lib/Webpacus/Model/WebPAC.pm 2005/12/06 23:49:13 237 +++ Webpacus/lib/Webpacus/Model/WebPAC.pm 2005/12/14 18:56:17 242 @@ -204,7 +204,11 @@ $t = time(); - my $ds = $self->{db}->load_ds( database => $database, prefix => $prefix, id => $id ) || $log->error("can't load_ds( $database / $prefix # $id )") && next; + my $ds = $self->{db}->load_ds( database => $database, prefix => $prefix, id => $id ); + if (! $ds) { + $log->error("can't load_ds( ${database}/${prefix}#${id} )"); + next; + } $times->{db} += time() - $t; @@ -215,7 +219,7 @@ my $html = $self->{out}->apply( template => $template_filename, data => $ds, - record_uri => "${database}/${prefix}#${id}", + record_uri => "${database}/${prefix}/${id}", ); $times->{out} += time() - $t; @@ -259,17 +263,29 @@ my $log = $self->{log}; $log->debug("args: " . Dumper( $args )); - foreach my $f (qw/mfn template prefix/) { + foreach my $f (qw/record_uri template/) { $log->fatal("need $f") unless ($args->{$f}); } - my $mfn = $args->{mfn}; + my ($database, $prefix, $id); - my $ds = $self->{db}->load_ds( id => $mfn, prefix => 'FIXME' ) || $log->error("can't load_ds( $mfn )") && return; + if ($args->{record_uri} =~ m#^([^/]+)/([^/]+)/([^/]+)$#) { + ($database, $prefix, $id) = ($1,$2,$3); + } else { + $log->error("can't parse $args->{record_uri} into prefix, database and uri"); + return; + } + + my $ds = $self->{db}->load_ds( id => $id, prefix => $prefix, database => $database ); + if (! $ds) { + $log->error("can't load_ds( $database/$prefix/$id )"); + return; + } my $html = $self->{out}->apply( template => $args->{template}, data => $ds, + record_uri => $args->{record_uri}, ); $html = $self->{iconv}->convert( $html ) || $log->error("can't convert: $html");