elvish_config/aliases/tnef.elv

60 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

edit:add-var winmail~ {|@argv|
use path
use os
var curdir = (pwd)
var tmpdir = (os:temp-dir 'winmail-*')
var remove = $false
var browse = $e:falkon~
var explore = $e:dolphin~
var data = ''
fn print_help {||
echo 'winmail [(-h|-k|-r)] [<winmail_file>]'
echo ''
echo 'Options:'
echo ' -h, --help Affiche cette aide'
echo ' -k, --keep Conserve le fichier winmail.dat fourni en entrée (option par défaut)'
echo ' -r, --remove Supprime le fichier winmail.dat une fois le programme terminé'
echo ''
echo 'Si le fichier de données winmail.dat nest pas défini, utilise le winmail.dat du répertoire courant, si trouvé'
}
each {|e|
if (or (eq $e -r) (eq $e --remove)) {
set remove = $true
} elif (or (eq $e -k) (eq $e --keep)) {
set remove = $false
} elif (or (eq $e -h) (eq $e --help)) {
print_help
exit
} else {
set data = (path:abs $e)
}
} $argv
if (eq $data '') {
set data = (path:abs 'winmail.dat')
}
if (not (os:is-regular $data)) {
fail (printf 'Le fichier %s nexiste pas.' $data)
}
cd $tmpdir
tnef --save-body $data
if (os:is-regular message.html) {
perl -pe 's/cid:(image(\\d{3})\.(jpe?g|png|gif))@[[:alnum:]]{8}\.[[:alnum:]]{8}/\\1/g' message.html > message2.html
$browse message2.html > /dev/null 2> /dev/null
} else {
$explore . > /dev/null 2> /dev/null
}
cd $curdir
os:remove-all $tmpdir
if $remove {
os:remove $data
}
}