用于plone的zip文件提取程序

ftw.zipextract的Python项目详细描述


Introduction

此包用于提取文件和目录 从zip文件中添加到plone应用程序中。

模块提供一个视图,显示 zip文件和相关文件大小。从你看来 可以从文件中提取所有内容或选择元素的子集 提取。

提取本身被设计为尽可能安全,特别是:

  • 对拉链炸弹安全
    • 检查要提取的文件(从zip文件头)的公布大小,如果超过该大小,则停止提取。
    • 我们还可以设置允许提取的最大最大数据量。
  • 在目标文件夹外安全提取。
  • 控制RAM使用。使用缓冲区写入临时文件。
  • 处理包含多个同名文件的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个接口的灵活类型和原型提供默认实现。

Installation

  • 将包添加到构建配置:
[instance]
eggs +=
    ...
    ftw.zipextract

安装ftw.zipextract的通用安装配置文件。

Development

  1. 转移此回购
  2. 克隆您的叉子
  3. 外壳:ln -s development.cfg buildout.cfg
  4. 外壳:python bootstrap.py
  5. 外壳:bin/buildout

运行bin/test测试您的更改。

或者通过运行bin/instance fg启动实例。

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

推荐PyPI第三方库


热门话题
java游戏!框架伪造应用程序它实际上做什么?   java如何在JavaFx中显示表视图中的即时更改?   对象类的equals()方法的java重载   xpages介绍如何部署java。IBM Notes中的策略更改   java如何访问侦听器中的另一个视图?   java getDefaultDisplay()的替代方法是什么   java opencv匹配模板   java Android Firebase写入数据时的常量超时   在Java中,如何将包含大量空格的数字字符串转换为一系列Int变量。   带有GUI的swing Java模拟无法运行模拟   java NoSuchElementException在特定的Web端上使用无头铬和硒   java对文件进行迭代,即使文件在目录中也会出现“未找到文件”异常。你能告诉我为什么吗?谢谢   递归Java 8,匿名递归嵌套方法   java为什么我看到枚举常量的字段值会被序列化/反序列化?在哪种情况下,枚举中哪些内容没有序列化?   java在运行sonar scanner和Spotbugs规则时出错,用于单片项目?   java如何检查硬件键盘是否可用?(黑莓)   tile游戏动作侦听器循环中的java错误   sockets Java线程池与高请求场景中的新线程   java如何使用Hibernate注释在联接表上创建索引?