用于plone的zip文件提取程序
ftw.zipextract的Python项目详细描述
目录
Introduction
此包用于提取文件和目录 从zip文件中添加到plone应用程序中。
模块提供一个视图,显示 zip文件和相关文件大小。从你看来 可以从文件中提取所有内容或选择元素的子集 提取。
提取本身被设计为尽可能安全,特别是:
- 对拉链炸弹安全
- 检查要提取的文件(从zip文件头)的公布大小,如果超过该大小,则停止提取。
我们还可以设置允许提取的最大最大数据量。
Compatibility
扑通一声4.3.x
Implementation
- ftw.zipextract.zipextracter.ZipExtracter类处理从zip文件中提取的内容。
- ftw.zipextract.browser.zipextract_view.ZipExtractView用于呈现提取视图。它注册为zipextract,并将应用于其上下文。
文件和文件夹的处理和创建取决于上下文和内容类型。要处理此问题,需要使用4个接口:
ftw.zipextract.interfaces.IFile定义了一些用于文件处理的方法,特别是一个是用于确定提取是否可以用于给定文件的zip方法。
ftw.zipextract.interfaces.IFactoryTypeDecider决定使用哪个工厂类型信息从特定容器中的zip创建文件夹或文件。
- defines a ^{tt6}$ method
- defines a ^{tt7}$ method
ftw.zipextract.interfaces.IFileCreator定义一个create方法来创建一个新文件
ftw.zipextract.interfaces.IFolderCreator定义一个create方法来创建一个新文件夹
Adapting the package to your application
要使此包适应其他应用程序,您可能需要为上述4个接口编写适配器。ftw.zipextract为所有4个接口的灵活类型和原型提供默认实现。
Development
- 转移此回购
- 克隆您的叉子
- 外壳:ln -s development.cfg buildout.cfg
- 外壳:python bootstrap.py
- 外壳:bin/buildout
运行bin/test测试您的更改。
或者通过运行bin/instance fg启动实例。