From mboxrd@z Thu Jan 1 00:00:00 1970 From: johnbent@lanl.gov (John Bent) Date: Tue, 22 Jan 2008 09:40:05 -0700 Subject: [sup-talk] missing run-mailcap Message-ID: <1201019996-sup-8960@tangerine.lanl.gov> 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 "@_"; }