python文本标记和转换
pyth3的Python项目详细描述
pyth3-python文本标记和转换
Pyth旨在使在不同的通用格式之间转换标记文本变得容易。 这是pyth 0.6.0到python 3的一个(目前还不完全)端口。
标记文本表示具有以下内容的文本:
- 段落
- 标题
- 粗体、斜体和带下划线的文本
- 超链接
- 项目符号列表
- 简单表格
- 其他很少
支持程度(非常不同)的格式是
- 纯文本
- XHTML
- RTF(富文本格式)
- PDF(仅输出)
设计原则/目标
- 忽略输入格式中不支持的信息(例如页面布局)
- 忽略字体问题--以单个字体输出。
- 忽略特定的文本大小,但保持斜体、黑体、下标/上标
- 没有依赖项,除非它们是用python编写的,并且可以工作
- 通过使用基于plugins和adapters的体系结构,可以方便地添加对新格式的支持。
示例
请参阅目录examples
。
python 3迁移
这段代码最初是为python 2编写的。 已经有一部分(!)升级到Python3兼容性(从“modernize”开始)。 这并不意味着它真的会起作用!
pyth.plugins.rtf15.reader已被调试,现在看来工作正常。 pyth.plugins.xhtml.writer已经过调试,现在看起来工作正常。 pyth.plugins.plaintext.writer已被调试,现在看来工作正常。 其他的一切都是未知的(或者在python 3上肯定是坏的:甚至很多 测试失败) 有关更多详细信息,请参见目录py3migration。 (如果您发现Python2上有以前工作过的故障,请 要么修复它,要么简单地坚持pyth版本0.6.0.)
限制
pyth.plugins.rtf15.reader:
- 项目符号或枚举项将被返回 作为普通段落(没有缩进,没有项目符号)。
- 无法正确处理符号字体:
- 来自ms word:较低的代码范围字符(主要是希腊语)工作
- 来自MS Word:缺少较高的代码范围字符,因为 word以一种不受支持的极其复杂的方式对它们进行编码 按Pyth当前
- 从写字板:低和高代码范围字符出来 错误的编码(ANSI,我认为)
pyth.plugins.xhtml.writer:
- 功能非常有限
pyth.plugins.plaintext.writer:
- 功能非常有限
其他:
- 如果没有一些移植的爱和关心,python 3将无法工作
测试
别试着把它们都处理掉,太令人沮丧了。
py.test -v test_readrtf15.py
是运行最不令人沮丧的
它们的子集。
在python 3上,其他大多数都会失败,这很正常。
test_readrtf15.py
根据
在{{CD4}}中的现有输入文件
已存在的引用输出文件,在< { } > }和< } > }。
空的或丢失的输出文件指示功能丢失的位置,
如果你想帮忙的话,这很好地说明了你可以跳进去的地方。
依赖关系
只有最重要的两个依赖关系,
实际上是在setup.py
中声明的,因为其他的都很大,但是
仅在尚未移植到Python3的Pyth组件中才需要。
它们是:
reportlab
对于pdfwriterdocutils
对于LatexWriter