用python编写的tnef解码库,没有外部依赖项

tnefparse的Python项目详细描述


tnefparse-tnef解码和附件提取

https://badge.fury.io/py/tnefparse.pnghttps://travis-ci.org/koodaamo/tnefparse.png?branch=masterhttps://codecov.io/gh/koodaamo/tnefparse/branch/master/graph/badge.svg

这是一个纯python库,用于解码微软的传输中性封装格式(tnef),用于python 版本2.7、3.5+和Pypy。有关tnef的更多信息,请参见 wikipedia。完整的tnef规范 也可用作PDF download

提供了一个tnefparse命令行实用程序,用于列出tnef文件的内容,提取附件 在里面找到,等等:

usage: tnefparse [-h] [-o] [-a] [-p PATH] [-b] [-hb]
                 [-l LEVEL] [-c]
                 file [file ...]

Extract TNEF file contents. Show this help message if no arguments are given.

positional arguments:
  file                  space-separated list of paths to the TNEF files

optional arguments:
  -h, --help             show this help message and exit
  -o, --overview         show (possibly long) overview of TNEF file contents
  -a, --attachments      extract attachments, by default to current dir
  -p PATH, --path PATH   optional explicit path to extract attachments to
  -b, --body             extract the body to stdout
  -hb, --htmlbody        extract the HTML body to stdout
  -rb, --rtfbody         extract the RTF body to stdout
  -l LEVEL, --log LEVEL  set log level to DEBUG, INFO, WARN or ERROR
  -c, --checksum         calculate checksums (off by default)

该库还可以用作需要解析tnef的应用程序的基础。要分析tnef附件,请运行例如:

>>> from tnefparse import TNEF
>>> with open("tests/examples/one-file.tnef", "rb") as tneffile:
...    tnefobj = TNEF(tneffile.read())

然后,解析的附件内容可用作tnef对象属性:

  • 签名-tnef文件签名
  • 密钥-在使用tnef实现生成tnef流之前由启用tnef的传输生成
  • 代码页-Windows代码页字符串
  • 对象-一组tnefobject实例
  • 附件-一组tnefattachment实例
  • mapiprops-由tnefmapi_属性表示的mapi属性的集合实例
  • 正文-消息正文(可能包含HTML和RTF)
  • html body-仅包含html消息正文的字符串
  • rtf body-只有rtf主体

上面的一些属性可能是空的,这取决于分析的附件中包含的内容。

使用python setup.py test运行测试。

欢迎提出问题和请求。请始终提供一个示例tnef文件,如果可能的话,该文件可用于演示错误或所需的行为。

注意:如果您了解tnef和/或mime内部结构,或者只是需要这个包并希望帮助维护它,那么我愿意授予您提交权限。请告诉我。

tnefparse 1.3.0(2018-12-01)

  • 放弃python 2.6&3.3支持
  • python 2/3兼容性修复程序
  • 更多测试和示例文件(jrideout)
  • 全面改进测试和开始跟踪覆盖范围
  • 大量的解析改进(jrideout)
  • 将一些不必要的警告转换为调试消息
  • 添加tnefparse-p–设置附件提取路径的路径选项
  • 支持更多MAPI(PIDTag)属性(Jrideout)
  • 支持RTF正文提取(Jrideout)
  • 支持在msgprops(jrideout)中提取顶级对象属性
  • util.raw_mapi&tnefparse.parsefile函数在1.3之后将被弃用

t参考1.2.3,2018年11月14日

  • 杂项修复

TNEFPARSE 1.2.22017年

  • tNEF init在无效TNEF签名上引发ValueError,而不是调用sys .Exit()
  • parsefile便利功能不应期望self参数,已删除
  • 其他杂项修复

tnefparse 1.2.11913年

  • Python3兼容性;测试通过Python2.6/2.7/3.2/3.3
  • 将包添加到travis ci
  • 添加tox.ini以使用https://testrun.org/tox

t参考2013年1月2日

  • 性能改进和错误修复(dave baggett)
  • 添加到压缩函数中,用于将tnef附件转换为压缩附件(dave baggett)
  • tnefparse现在在arcode的inky电子邮件客户端中使用

tnefparse 1.1.12012年8月(未发布)

  • 修复了导致“tnefparse”命令行调用失败的入口点错误

t参考1.12012年3月1日

  • 重新打包并重命名库
  • 代码移到github
  • 使用stdlib日志模块
  • 对纯python代码的进一步错误修复和增强
  • 添加COM命令行脚本
  • 删除unix tnef命令行工具包装器

Pytnef 0.2.1-Novell,约2010年

  • 对纯python代码(tom doman)的错误修复/增强

Pytnef 0.2,约2005年

  • 为unix tnef命令行工具(petri-savolainen)添加了一个包装器
  • 纯python代码还不是很有用

Pytnef 0.1-约2005年

  • 作为ruby tnef解码器的转换创建的第一个版本(纯python) 作者Trevor Scheroeder(Petri Savolainen)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java中创建固定大小的泛型数组?   javascript Paypal Braintree订阅付款   使用BufferedReader和PrintWriter实现java数据持久化?   类似于iCloud的java唯一google id   java使用网格布局和抓取组合框   java我的while循环无限运行,当我检查它时,它说while循环没有主体,而我认为它显然没有主体   java LWJGL碰撞3D OpenGL   java将Tibco RV切换到WebSphere MQ?   java如何使用Postman从curl发布REST   java是超级的,在通用通配符中是独占的吗?   在swing 1.5中,java在指定时间后自动关闭非模态对话框   java PrimeFaces饼图在JSF 2.0中不显示   java如何在Spring MVC中提供带有xml配置的默认bean实现?   java在eclipse中使用按钮关闭JFrame   java Sqoop jar已弃用   Java中的Getter方法