#!/usr/bin/perl -w -I/opt/eprints3/perl_lib
# Search for eprints by title

use EPrints;
use strict;

# Check we got 2 args
if( scalar @ARGV != 2 )
{
	print "Usage: $0 repositoryid word\n";
	exit;
}
my $repositoryid = $ARGV[0];
my $word = $ARGV[1];

# Start session
my $session = new EPrints::Session( 1, $repositoryid );
exit( 0 ) unless( defined $session );

# Get archive dataset
my $ds = $session->get_repository->get_dataset( "archive" );

# Create search expression
my $search = new EPrints::Search( 
	session => $session, 
	dataset => $ds,
	custom_order => "title" );

# Add filter
$search->add_field(
	$ds->get_field( "title" ),
	$word,
	"IN",
	"ALL" );

my $list = $search->perform_search;

# Map function to each result
$list->map( 
	sub {
		my( $session, $dataset, $eprint ) = @_;
		print $eprint->get_id . ":" . $eprint->get_value( "title" ) . "\n";
	}
);

# Tidy up
$list->dispose();

# End session
$session->terminate();

