跳转至

Filter

Filter 插件

Filter 插件依照配置过滤筛选上下文中的文件列表,并将符合条件的文件列表保存到上下文以供后续步骤使用。

🔗 上下文

上下文 类型 描述 默认值
load_key str 需要过滤的文件列表 'default'
save_key str 过滤后保留的文件列表 'default'
exclude_key Optional[str] 过滤后排除的文件列表

⚙ 配置

FilterPluginConfig

FilterPluginConfig

auto_unpack.plugins.control.filter.FilterPluginConfig

名称 类型 描述 默认值
⭐ name Literal['filter'] 插件名称,固定为 'filter' 'filter'
🚧 includes 废弃
请使用GlobFilter
List[str] 包含的文件路径列表,glob 表达式 ['**/*']
🚧 excludes 废弃
请使用GlobFilter
List[str] 排除的文件路径列表,glob 表达式 []
rules List[Union[SizeFilter, GlobFilter, CTimeFilter, MTimeFilter]] 筛选规则 []
上下文字段见上文

SizeFilter

SizeFilter

auto_unpack.plugins.control.filter.SizeFilter 文件大小过滤器,用于筛选文件大小满足条件的文件。

名称 类型 描述 默认值
⭐ mode Literal['size'] 文件大小过滤,固定为 'size' 'size'
⭐ size float 文件大小限制
operator Literal['<', '>', '<=', '>=', '==', '!='] 大小比较运算符 >=
unit Literal['b', 'kb', 'mb', 'gb', 'tb'] 单位 mb

GlobFilter

GlobFilter

auto_unpack.plugins.control.filter.GlobFilter 文件路径过滤器,用于筛选文件路径满足条件的文件。

名称 类型 描述 默认值
⭐ mode Literal['glob'] 文件路径过滤,固定为 'glob' 'glob'
includes List[str] 包含的文件路径列表,glob 表达式 ['**/*']
excludes List[str] 排除的文件路径列表,glob 表达式 []

CTimeFilter

CTimeFilter

auto_unpack.plugins.control.filter.CTimeFilter 创建时间过滤器,用于筛选文件创建时间满足条件的文件。

名称 类型 描述 默认值
⭐ mode Literal['ctime'] 创建时间过滤,固定为 'ctime' 'ctime'
⭐ time str 时间限制(格式: RFC3339)
例如:2022-01-01T00:00:00Z
operator Literal['<', '>', '<=', '>=', '==', '!='] 大小比较运算符 >=

MTimeFilter

MTimeFilter

auto_unpack.plugins.control.filter.MTimeFilter 修改时间过滤器,用于筛选文件修改时间满足条件的文件。

名称 类型 描述 默认值
⭐ mode Literal['mtime'] 修改时间过滤,固定为 'mtime' 'mtime'
⭐ time str 时间限制(格式: RFC3339)
例如:2022-01-01T00:00:00Z
operator Literal['<', '>', '<=', '>=', '==', '!='] 大小比较运算符 >=

♻ 示例

保留文件大小 大于等于 1MB 的 txt 和 md 文件,并排除名叫 README.md 文件

flow:
  steps:
    - name: scan
      dir: archive
    - name: filter
      rules:
        - mode: glob
          includes:
            - '*.txt'
            - '*.md'
          excludes:
            - 'README.md'
        - mode: size
          size: 1.0
          operator: '>='
          unit: mb

打印 文件创建时间 在 2022-01-01 之后的文件

flow:
  steps:
    - name: scan
      dir: archive
    - name: filter
      rules:
        - mode: ctime
          time: "2022-01-01T00:00:00Z"
          operator: ">="
    - name: log