12.7 mimetypes -- Mappa i nomi dei file ai tipi MIME

Il modulo mimetypes opera la conversione fra un file o una URL ed il tipo MIME associato all'estensione del file. Le conversioni avvengono dal file al tipo MIME e dal tipo MIME all'estensione del file; le codifiche non sono supportate per le ultime conversioni.

Il modulo fornisce una classe ed alcune funzioni pratiche - che sono la sua normale interfaccia, ma con qualche applicazione coinvolta anche nella classe.

Qui di seguito verranno descritte le funzioni che gli offrono l'interfaccia primaria. Se il modulo non è stato inizializzato, queste chiameranno init(), qualora si riferiscano alle informazioni che init() imposta.

guess_type( filename[, strict])
Risale al tipo di un file basandosi sul suo nome o sull'URL fornita dal filename. Il risultato è una tupla (tipo, codifica), la cui parte tipo è None, se non può essere determinata (suffisso mancante o sconosciuto), oppure è una stringa formata da 'tipo/sotto tipo', utilizzabile per un MIME content-type: intestazione .

In assenza di codifica la voce è None, altrimenti è il nome del programma impiegato (ad esempio, compress o gzip). La codifica funge da intestazione Content-Encoding: e non da intestazione Content-Transfer-Encoding:. Le mappature rispecchiano una tabella, i suffissi di codifica sono sensibili alle differenze tra maiuscole e minuscole, mentre i suffissi dei tipi vengono considerati prima come sensibili e poi come insensibili a queste differenze.

Il facoltativo strict è un'opzione che specifica se la lista dei tipi MIME noti sia limitata o meno ai soli registrati con IANA. Quando strict assume il valore vero (predefinito), vengono supportati solo i tipi IANA, quando viene impostato a falso, verranno riconosciuti anche alcuni tipi MIME non standard, ma comunemente usati.

guess_all_extensions( type[, strict])
Risale all'estensione di un file basandosi sul suo tipo MIME risultante da type. Il risultato è una lista di stringhe riportanti tutte le possibili estensioni di file, punto iniziale (".") compreso. Non è detto che siano state associate con una particolare fonte di dati, ma verrebbero riferite al tipo MIME type dalla funzione guess_type().

L'opzione strict ha lo stesso significato della funzione guess_type().

guess_extension( type[, strict])
Risale all'estensione di un file basandosi sul suo tipo MIME, risultante da type. Il risultato è una stringa riportante un'estensione di file, punto iniziale (".") compreso. Non è detto che sia stata associata con una particolare fonte di dati, ma verrebbero riferite al tipo MIME type dalla funzione guess_type().

L'opzione strict ha lo stesso significato della funzione guess_type().

Alcune funzioni aggiuntive ed elementi di dati sono disponibili per il controllo del comportamento del modulo.

init( [files])
Inizializza la struttura interna dei dati. Se presente, files deve essere una sequenza di nomi di file che dovrebbero essere usati per aumentare la mappa dei tipi predefinita. Se omesso, i nomi dei file da usare vengono presi da knownfiles. Ogni file nominato in files o knownfiles prende la precedenza su quelli chiamati precedentemente. È permessa la chiamata di init() ripetutamente.

read_mime_types( filename)
Carica la mappa dei tipi dei dati in filename, se esiste. La mappa dei tipi viene restituita come un dizionario che mappa le estensioni di filename, incluso il punto iniziale ("."), per stringhe nella forma 'type/subtype'. Se il file filename non esiste o non può essere letto, viene restituito None.

add_type( type, ext[, strict])
Aggiunge una mappa dal tipo type mimetype alla estensione ext. Quando l'estensione viene sempre conosciuta, il nuovo type sostituirà il vecchio. Quando il tipo viene sempre riconosciuto l'estensione verrà aggiunta alla lista delle estensioni conosciute.

Quando strict è la traccia, verrà aggiunta MIME types ufficiale, altrimenti a quelli non standard.

inited
L'opzione indica se la struttura dei dati è stata inizializzata oppure no. Questa è impostata su vero da init().

knownfiles
La lista dei nomi dei file di tipo map comunemente installati. Questi file vengono comunemente chiamati mime.types e vengono installati in differenti posizioni dai diversi pacchetti.

suffix_map
Dizionario che tiene traccia dei suffissi per i suffissi. Questo è usato per permettere il riconoscimento dei file codificati, per i quali la codifica ed il tipo vengono indicati dalla stessa estensione. Per esempio l'estensione .tgz viene mappata per .tar.gz per consentire alla codifica ed al tipo di essere riconosciuti separatamente.

encodings_map
Dizionario che tiene traccia delle estensioni dei nomi dei file per la codifica dei tipi.

types_map
Il dizionario che tiene traccia le estensioni dei filename per i tipi MIME.

common_types
Il dizionario che tiene traccia delle estensioni dei nomi dei file non standard, ma comunemente riscontrabili nei tipi MIME.

La classe MimeTypes può essere utile per applicazioni che possono volere più di un database MIME-type:

class MimeTypes( [filenames])
Questa classe rappresenta il database dei MIME-types. Fornisce l'accesso in modo predefinito allo stesso database come il resto di questo modulo. Il database iniziale è una copia di quello fornito dal modulo e può essere esteso caricando file addizionali in stile mime.types nel database usando i metodi read() o readfp(). La traccia dei dizionari può essere anche azzerata prima di caricare dati aggiuntivi, se i dati predefiniti non sono quelli desiderati.

Il parametro facoltativo filenames può essere usato per effettuare il caricamento di file aggiuntivi ``on top'' da database predefinito.

Nuovo nella versione 2.2.



Subsections
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.