package EPrints::Plugin::Event::ScanFile; @ISA = qw( EPrints::Plugin::Event ); use strict; sub scanfile { my( $self, $file_id ) = @_; my $repository = $self->{repository}; my $file = new EPrints::DataObj::File( $repository, $file_id ); my $src_path = $file->get_local_copy; my $cmd = "file -i $src_path | awk '{split (\$0, a, \" \"); print a[2]}'"; my $ret = `$cmd`; $ret =~ s/\r\n//; $ret =~ s/\n//; if (defined $ret and (!($ret eq ""))) { $file->set_value("file_cmd_mime", $ret); $file->commit(); } }