跳转到主要内容

Plone的Zip文件提取器

项目描述

简介

此包用于从zip文件中提取文件和目录并将它们添加到Plone应用程序中。

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

提取本身设计得尽可能安全,特别是

  • 防止zip炸弹

    • 检查要提取的文件宣布的大小(从zip文件头中获取)并在大小超过时停止提取。

    • 我们还可以设置允许提取的总最大数据量。

  • 防止在目标文件夹外提取。

  • 受控的RAM使用。使用缓冲区将数据写入临时文件。

  • 处理包含多个同名文件的zip文件等。

兼容性

Plone 4.3.x

实现

  • ftw.zipextract.zipextracter.ZipExtracter 类处理从zip文件中提取。

  • ftw.zipextract.browser.zipextract_view.ZipExtractView 用于提取视图的渲染。它注册为zipextract,并将其应用于其上下文。

文件和文件夹的处理和创建取决于上下文和内容类型。为此,使用了4个接口

  • ftw.zipextract.interfaces.IFile 定义了一些文件处理方法,其中特别包括一个 is_zip 方法,用于判断是否可以在给定的文件上使用提取功能。

  • ftw.zipextract.interfaces.IFactoryTypeDecider 用于决定在特定容器中从 zip 文件创建文件夹或文件时使用哪种工厂类型信息。

    • 定义了一个 get_file_fti 方法

    • 定义了一个 get_folder_fti 方法

  • ftw.zipextract.interfaces.IFileCreator 定义了一个 create 方法来创建一个新的文件

  • ftw.zipextract.interfaces.IFolderCreator 定义了一个 create 方法来创建一个新的文件夹

将包适应到您的应用程序

为了将此包适配到其他应用,您可能需要为上述 4 个接口编写适配器。 ftw.zipextract 为所有 4 个接口提供了 Dexterity 类型和阿基特克(Archetypes)的默认实现。

安装

  • 将此包添加到您的 buildout 配置中

[instance]
eggs +=
    ...
    ftw.zipextract

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

开发

  1. Fork 此仓库

  2. 克隆您的 Fork

  3. Shell: ln -s development.cfg buildout.cfg

  4. Shell: python bootstrap.py

  5. Shell: bin/buildout

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

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

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

ftw.zipextract-1.1.4.tar.gz (23.7 kB 查看哈希值)

上传时间 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面