+sub add_to_imageseek_library {
+ my $self = shift;
+ Image::Seek::cleardb();
+ my $img = Image::Imlib2->load($self->path("file"));
+
+ Image::Seek::add_image($img, $self->id);
+ # Merge this new one into the main database; there is a bit of a
+ # race condition here. XXX
+ Image::Seek::loaddb(Memories->config->{image_seek});
+ Image::Seek::savedb(Memories->config->{image_seek});
+}
+
+sub recommended_tags {
+ my $self = shift;
+ my %tags = map { $_->name => $_ }
+ map { $_->tags }
+ $self->find_similar(3);
+ values %tags;
+}
+
+sub find_similar {
+ my ($self, $count) = @_;
+ Image::Seek::cleardb();
+ Image::Seek::loaddb(Memories->config->{image_seek});
+ my @res = map {$_->[0] } Image::Seek::query_id($self->id, $count);
+ shift @res; # $self
+ map { $self->retrieve($_) } @res;
+}
+