ctl.plugins.walk_dir

A plugin that lets you traverse a directory and process it's files and sub-directories

Classes


MatchConfig

MatchConfig(confu.schema.core.Schema)

Configuration schema that maps a plugin action to a regex pattern

Class Attributes

  • action (Str): plugin action (method name)
  • pattern (Str): regex pattern
  • plugin (Str): plugin name

WalkDirPlugin

WalkDirPlugin(ctl.plugins.ExecutablePlugin)

walk directories and process files

Class Attributes

  • ConfigSchema (ConfigSchema Class): Base plugin config schema

Instanced Attributes

These attributes / properties will be available on instances of the class

  • debug_info (dict): holds various debug information
  • requires_output (bool=False): does the plugin require an output to be set?

Methods

execute

def execute(self, **kwargs)

Execute the plugin

overrides and calls ExecutablePlugin.execute


ignored

def ignored(self, path, dirpath)

Check if a filepath matches any of the patterns set up in the ignore config attribute

Argument(s)

  • path (str): relative filepath being processed
  • dirpath (str): relative dirpath being processed

Returns

True if file should be ignored, False if not


output

def output(self, path=None)

Returns the output path

Plugin's prepare method needs to have been called.

Keyword Arguments

  • path (str): if specified will join this path to the output path and return the result

Returns

output path (str)


prepare

def prepare(self, **kwargs)

prepare plugin for execution

Output directory

output directory from config.output will be created if it does not exist

overrides ExecutablePlugin.prepare


prepare_file

def prepare_file(self, path, dirpath)

Prepare a file for processing

Right now this mainly ensures that the output path for the processed file exists by creating it.

Argument(s)

  • path (str): relative filepath being processed
  • dirpath (str): relative dirpath being processed

process_file

def process_file(self, path, dirpath)

Test MatchConfig instances set up in the process config attribute against the provided file path and process file according to matches.

Argument(s)

  • path (str): relative filepath being processed
  • dirpath (str): relative dirpath being processed

process_files

def process_files(self)

Walks the subdirectories of the source path and processes the files.

Only subdirectories specified in the walk_dirs config attribute will be considered.


source

def source(self, path=None)

Returns the source path

Plugin's prepare method needs to have been called.

Keyword Arguments

  • path (str): if specified will join this path to the source path and return the result

Returns

source path (str)


WalkDirPluginConfig

WalkDirPluginConfig(confu.schema.core.Schema)

Configuration schema for the walkdir plugin

Class Attributes

  • debug (Bool): debug mode
  • ignore (List<Str>): regex patterns that if matched will cause a file or directory to be ignored
  • output (Str): output directory
  • process (List<MatchConfig>): pattern matches to plugin actions
  • skip_dotfiles (Bool): Skip dot files
  • source (Str): source directory
  • walk_dirs (List<Str>): subdirectories to walk and process files in