用于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 Android USB重新连接打开的应用程序,即使该应用程序已在运行   关于数组的java新手问题   cmd通过配置文件在Java中运行系统命令   继承这种java接口策略合理吗?   java如何将循环长度设置为2D数组长度?   java简单歌曲列表,使用数组列表和对象   java解释Wicket调试条输出   JavaSpringBeanDefinition类名包含实例化bean的null   爪哇安卓菜刀   java i无法运行数据规范化maxmin的代码   java我可以使用JavaMail通过特定接口发送SMTP邮件吗?   在java中使用ObjectOutputStream()时,socket必须是同一个对象?   java如何检查列表中的数据是否包含0或空值并删除该数据   java根据传入的对象类型,JMH Blackhole#consume()的效果会有所不同吗?   安卓 Java JSON反序列化,无需预先定义所有内容   java EditText在移动时不显示键盘   xml获取java中dom4j中的属性值   “无法识别python”错误,但仅在从Java运行时发生