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

use EPrints;
use strict;

# 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 );

# Add filter
$search->add_field(
	$ds->get_field( "date" ),
	"-1999" );

my $list = $search->perform_search;

# Map function to each result
$list->map(
	sub {
		my( $session, $dataset, $eprint ) = @_;
		print "Updating eprint " . $eprint->get_id . "\n";
		$eprint->set_value( "note", "This note was added by the search_and_modify.pl script." );
		$eprint->commit;
		$eprint->generate_static;
	}
);

# Tidy up
$list->dispose();

# End session
$session->terminate();

