I file mailcap vengono usati per configurare applicazioni in modo MIME, cosicché lettori di posta e browser Web reagiscano a file con differenti tipi MIME. Il nome ``mailcap'' deriva dalla frase ``mail capability'' (NdT: potenzialità della posta elettronica). Ad esempio un file mailcap potrebbe contenere una riga come "video/mpeg; xmpeg %s". A questo punto se l'utente incontra un messaggio di posta elettronica o un documento Web con il tipo MIME video/mpeg, "%s" verrà sostituito con un file con nome (in genere un file temporaneo) ed il programma xmpeg verrà avviato automaticamente per eseguire il file.
Il formato mailcap è documentato nella RFC 1524, ``A User Agent Configuration Mechanism For Multimedia Mail Format Information,'' ma non è uno standard internet. Comunque i file mailcap vengono supportati dalla maggior parte dei sistemi Unix.
caps, MIMEtype[, key[, filename[, plist]]]) |
(None, None)
.
key è il nome del campo desiderato, che rappresenta il tipo di attività da eseguire; il valore predefinito è 'view', visto che nei casi più comuni si vuole semplicemente vedere il corpo dei dati di tipo MIME. Altri possibili valori potrebbero essere 'compose' ed 'edit', se si volesse creare un nuovo corpo del tipo MIME dato o si volesse modificarlo. Vedere la RFC 1524 per una lista completa di tali campi.
filename è il file con nome che sostituirà "%s" sulla riga
di comando; il valore predefinito è '/dev/null'
che quasi
certamente non è ciò che vogliamo, quindi in genere verrà sovrascritto
specificando un nome di file.
plist può essere una lista contenente parametri con nome; il
valore predefinito è semplicemente una lista vuota. Ogni inserimento
nella lista deve essere una stringa contenente il nome del parametro,
un segno di uguale ("=") ed il valore del parametro. Le
voci relative ai mailcap possono contenere parametri con nome quali
%{foo}
, che verrà sostituito dal valore del parametro di
nome 'foo'. Ad esempio se la riga di comando
"showpartial %{id} %{number} %{total}" si trovasse in
un file mailcap e plist fosse impostata a
['id=1', 'number=2', 'total=3']
, la riga di comando risultante
sarebbe 'showpartial 1 2 3'
.
In un file mailcap il campo ``test'' può essere facoltativamente specificato per testare alcune condizioni esterne (quali l'architettura della macchina o l'ambiente grafico in uso) per determinare se applicare o meno la riga del mailcap. findmatch() controllerà automaticamente tali condizioni e salterà l'istruzione se il controllo fallisce.
) |
L'informazione è derivata da tutti i file mailcap trovati sul sistema. Le impostazioni del file mailcap utente $HOME/.mailcap sovrascriveranno le impostazioni dei file mailcap di sistema /etc/mailcap, /usr/etc/mailcap e /usr/local/etc/mailcap.
Un esempio d'uso:
>>> import mailcap >>> d=mailcap.getcaps() >>> mailcap.findmatch(d, 'video/mpeg', filename='/tmp/tmp1223') ('xmpeg /tmp/tmp1223', {'view': 'xmpeg %s'})