"""Debug Plugin for EasyEngine.""" from cement.core.controller import CementBaseController, expose from cement.core import handler, hook def debug_plugin_hook(app): # do something with the ``app`` object here. pass class EEDebugController(CementBaseController): class Meta: label = 'debug' description = 'debug command enables/disbaled stack debug' stacked_on = 'base' stacked_type = 'nested' arguments = [ (['--stop'], dict(help='Stop debug', action='store_true')), (['--start'], dict(help='Start debug', action='store_true')), (['--nginx'], dict(help='Debug Nginx', action='store_true')), (['--php'], dict(help='Debug PHP', action='store_true')), (['--fpm'], dict(help='Debug FastCGI', action='store_true')), (['--mysql'], dict(help='Debug MySQL', action='store_true')), (['--wp'], dict(help='Debug WordPress sites', action='store_true')), (['--rewrite'], dict(help='Debug Nginx rewrite rules', action='store_true')), (['-i', '--interactive'], dict(help='Interactive debug', action='store_true')), ] @expose(hide=True) def default(self): print("Inside Debug") def load(app): # register the plugin class.. this only happens if the plugin is enabled handler.register(EEDebugController) # register a hook (function) to run after arguments are parsed. hook.register('post_argument_parsing', debug_plugin_hook)