python
from cement import Controller
class MyController(Controller):
class Meta:
label = 'my-controller'
description = 'This is my custom controller'
arguments = [
(['-o', '--option'], dict(help='Some option')),
]
@expose(arguments=[
(['-n', '--name'], dict(help='Your name')),
])
def hello(self):
name = self.app.pargs.name
print(f'Hello, {name}!')
def default(self):
print("This is the default method")
python
from cement import App, TestApp, init_defaults
defaults = init_defaults('myapp')
class MyApp(App):
class Meta:
label = 'myapp'
config_defaults = defaults
handlers = [
MyController,
]
def setup(self):
pass
def run(self):
self.controller.run()
python
from cement import Plugin
class MyPlugin(Plugin):
def __init__(self):
self._loaded = False
def load(self):
if not self._loaded:
self._loaded = True
def do_something(self):
pass
python
from cement import init_defaults
defaults = init_defaults('myapp')
defaults['myapp']['key'] = 'value'