I saw some earlier discussion in the list archives about a missing run-mailcap
script.  I had this same problem too on my mac (10.4.11 Power PC).  It's sort
of a kluge but I dealt with this by writing my own /usr/bin/run-mailcap which
just does a simple hash lookup of mime type to rename the file with an
appropriate extension and then uses the mac 'open' command.  I haven't fully
populated the hash table yet; I'll do that lazily.  If the 'file' command
could return an extension, I'd be tempted to use it and avoid the hash table
but the best it can do is return the mime-type which we already know.  Or if
there was some way to pass the mime-type to the 'open' command, that'd be
better too.  But at least this works...

===========================================================================

 
#! /usr/bin/perl

my %mimes = (
    'image/jpeg'    => 'jpg',
    'text/html'     => 'html',
);

my ( $type, $file ) = split( /:/, $ARGV[1] );
Log( "$type - $file\n" );
my $extension = $mimes{$type};
if ( ! defined $extension ) {
    Log( "Unknown type $type\n" );
} else {
    rename( $file, "$file.$extension" );
    Log( "open $file.$extension\n" );
    system( "open $file.$extension" );
}

#######################################################################

my $log_fd;
sub
Log {
    if ( ! defined $log_fd ) {
        open LOG, ">>/tmp/mailcap.log" or warn "open log: $!\n";
        $log_fd = \*LOG;
    }
    #print "@_";
    print LOG "@_";
}
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk

Reply via email to