– Mailcap文件处理 – Internet数据处理(Python教程)(参考资料)
mailcap
– Mailcap文件处理
源代码: Lib / mailcap.py
Mailcap文件用于配置MIME识别应用程序(如邮件阅读器和Web浏览器)对文件的响应方式具有不同的MIME类型。(名称“mailcap”源自短语“mail capability”。)例如,mailcapfile可能包含类似video/mpeg; xmpeg %s
的行。然后,如果userencounters一个电子邮件消息或MIME类型为video/mpeg, %s
的Web文档将替换为文件名(通常属于一个临时文件)和 xmpeg 程序可以自动启动查看文件.
mailcap格式记录在 RFC 1524 ,“用户代理配置机制多媒体邮件格式信息”,但是不是互联网标准。但是,大多数Unix系统都支持mailcap文件.
mailcap.
findmatch
(caps, MIMEtype, key=”view”, filename=”/dev/null”, plist=[])-
返回2元组;第一个元素是一个包含要执行的命令行的字符串(可以传递给
os.system()
),第二个元素是给定MIME类型的mailcap条目。如果找不到匹配的MIME类型,则(None, None)
返回.key是所需字段的名称,表示要执行的活动类型;默认值为’view’,因为在最常见的情况下,您只想查看MIME类型数据的主体。如果您想创建givenMIME类型的新主体或更改现有主体数据,其他可能的值可能是’compose’和’edit’。见RFC 1524 有关这些领域的完整列表.
filename是要替换
%s
在命令行中;默认值是"/dev/null"
这几乎肯定不是你想要的,你可以通过指定文件名来覆盖它.plist可以是包含命名参数的列表;默认值只是空列表。列表中的每个条目必须是包含参数名称的字符串,等号(
"="
),以及参数的值。Mailcap条目可以包含命名参数,如%{foo}
,它将被名为’foo’的参数的值替换。例如,如果命令行showpartial%{id} %{number} %{total}
在mailcap文件中,plist设置为["id=1", "number=2", "total=3"]
,结果命令行为"showpartial 1 2 3"
.在mailcap文件中,可以选择指定“test”字段来测试某些外部条件(例如机器体系结构或使用中的窗口系统)以确定mailcap线是否适用。
findmatch()
如果检查失败,将自动检查这些条件并跳过条目.
mailcap.
getcaps
( )-
返回将MIME类型映射到mailcap文件条目列表的字典。这个字典必须传递到
findmatch()
功能。一个条目被存储为一个字典列表,但是没有必要知道这个表示的细节.该信息来自系统中找到的所有mailcap文件。用户的mailcap文件中的设置
$HOME/.mailcap
将在系统mailcap文件中重写设置/etc/mailcap
,/usr/etc/mailcap
和/usr/local/etc/mailcap
.
示例用法:
>>> import mailcap>>> d = mailcap.getcaps()>>> mailcap.findmatch(d, "video/mpeg", filename="tmp1223")("xmpeg tmp1223", {"view": "xmpeg %s"})
评论被关闭。