Common Plugin Features¶
Plugin Metadata¶
All plugins should contain basic metadata that is used internally within PATHspider for generating help text and command line options. This takes the form of class variables that by convention are at the start of the class.
Name | Description |
---|---|
name | A short name for the plugin used in the command line invocation of PATHspider |
description | A human readable description of the plugin used in help text |
version | A version number for the plugin |
For example, from the DSCP plugin:
class DSCP(SynchronizedSpider, PluggableSpider):
name = "dscp"
description = "Differentiated Services Codepoints"
version = "1.0.0"
Note
Plugins that ship with PATHspider set version to
pathspider.base.__version__
. This should only be done by plugins
that are part of the PATHspider distribution as this allows these
plugins to have the same version as PATHspider, which would be
useless for 3rd-party plugins that release independently.
Command Line Arguments¶
Depending on the type of plugin, default command line arguments will be added for your plugin. You can add additional command line arguments by adding a static method to your plugin named extra_args().
For example, from the DSCP plugin:
@staticmethod
def extra_args(parser):
parser.add_argument(
"--codepoint",
type=int,
choices=range(0, 64),
default='48',
metavar="[0-63]",
help="DSCP codepoint to send (Default: 48)")