Writing extensions

Citellus extensions should conform to the following standards:

  • Written in python and stored in the extensions folder.
  • Implement some base functions keeping arguments and data returned as in others:
    • init()
      • Returns list of triggers (array with strings)
    • listplugins(options)
      • Yields plugin object generator based on options.include, options.exclude
    • get_description(plugin)
      • Returns string for description based on pluging object
    • run(plugin)
      • Returns (returncode, out, err) after running a plugin object
    • help()
      • Returns string with description of extension
  • Define extension in listplugins as 'backend' based on the name of the file, so findplugins, runplugin, etc can find it properly and execute.