allocate session just once
[Biblio-Z3950.git] / Aleph.pm
index 0fba91f..6a3cf3c 100644 (file)
--- a/Aleph.pm
+++ b/Aleph.pm
@@ -59,13 +59,16 @@ sub usemap {{
 #      1016    => '',
 }};
 
+our $session_id;
 
 sub search {
        my ( $self, $query ) = @_;
 
        die "need query" unless defined $query;
 
-       my $url = 'http://161.53.240.197:8991/F?RN=' . int rand(1000000000);
+       $session_id ||= int rand(1000000000);
+       # FIXME allocate session just once
+       my $url = 'http://161.53.240.197:8991/F?RN=' . $session_id;
        # fake JavaScript code on page which creates random session
 
 diag "get $url";
@@ -77,11 +80,14 @@ diag "advanced search";
 
        $mech->follow_link( url_regex => qr/find-c/ );
 
-diag "submit search $query";
+diag "submit search [$query] on ", $self->{database};
+
+       $self->save_content;
 
        $mech->submit_form(
                fields => {
                        'ccl_term' => $query,
+                       'local_base' => $self->{database},
                },
        );