分析sap businessobjects universe(*unv)文件
pyunv的Python项目详细描述
简介
此包读取一个sap businessobjects universe(.unv)文件 并创建包含Universe设置的文本清单, 类、对象、条件、源表、源列和 加入。您可以使用您喜欢的diff工具来比较清单 并跟踪不同版本的宇宙之间的变化。
安装
使用easy_install安装pyunv:
easy_install pyunv
使用
安装pyunv后,将创建一个universe清单:
$ python docunv.py tests/universes/universe_xir2.unv
或者使用pyunv编写自己的版本:
>>> from pyunv.reader import Reader >>> from pyunv.manifest import Manifest >>> universe = Reader(open('sample.unv', 'rb')).universe >>> Manifest(universe).save(open('manifest.txt', 'w'))
这将创建表、列、类的文本清单, 宇宙中的物体和条件。使用diff、filemerge或 您最喜欢的文件比较工具,用于比较清单,以便您可以 跟踪发布之间的更改。
限制
我用businessobjects xi r2 universe测试了pyunv。它解析得最多 存储在宇宙文件中的信息,但不是全部。试穿一下 你的宇宙看看它是否能提取出你所需要的。我还没有测试 带有businessobjects 6.5或xi r3的pyunv。让我知道它是如何工作的 你。
许可证
这个库和示例程序是根据gnu lesser general授权的 公共许可证。
更改
0.2.4 2009年10月26日
- 更改现在显示在pypi描述中
- docunv.py现在可以防止意外覆盖universe文件
0.2.3 2009年10月25日
- 添加了docunv,一个创建universe清单的控制台程序
- 增加了对py2exe的支持(使用“python setup.pypy2exe”创建docunv的windows控制台版本)
- manifest构造函数现在接受自定义mako模板
- 将单元测试移出pyunv源文件夹
- 添加了更多读卡器。读卡器单元测试
- 重命名parameters.row_limit以查询row_limit
0.2.2 2009年9月28日
- manifest构造函数现在接受universe作为参数
- pyunv源代码现在符合pep8(谢谢pep8!)
0.2.1 2009年9月27日
- universe现在在where子句中显示对象名(而不是索引)
- reader现在分析上下文
- reader现在使用“false”节标记处理universe文件
- reader现在区分表和别名
- reader现在从universe文件中解析自定义参数
- 添加了universe.classvisitor,使您更容易将自己的逻辑应用到 类/对象/条件树
- 清单模板现在显示通用统计信息-表、类的数量, 连接等。
- 清单模板不再产生额外的空行
- 宇宙现在优雅地处理悬挂的引用。当你删除一个宇宙 表、列或对象设计器不清除对该实体的任何引用。
0.2.0 2009年9月24日
- 现在解析宇宙连接
- 现在按id对源数据库列排序
- 添加了一些unittests和xi r2 test universe(更多内容正在进行中)
0.1.9 2009年9月23日
- 为单元测试添加了示例Universe
- 修复了导致清单显示条件的父ID而不是名称的错误。
- 清单模板现在创建的清单类似于设计器创建的pdf文件。
- setup.py现在使用setuptools而不是distutils
- 现在可以使用-“python setup.py test”
0.1.8 2009年9月18日
- 重新构造项目文件夹以准备单元测试。
- 将Subversion存储库移动到Google代码。
- 从python项目中借用setup.py设置。
0.1.7 9月20日09
- 修复了读取具有特定元数据的源表时出现的错误。这个 是一个临时的解决方法,直到我可以解码这个元数据。
- 现在从universe文件中读取源列。
2009年9月0.1.6日
- 添加manifest类以生成businessobjects的文本清单 宇宙。清单使用mako模板引擎。
- reader.read_short_string现在从 宇宙弦。它返回unicode字符串而不是字符串元组。
2009年9月0.1.5日
- 第一个pypi版本
- 读取基本的宇宙参数、类、对象、条件、表和 虚拟表。
- 使用多个businessobjects xi r2 universe和python 2.6进行测试。