mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
added cli method to default methods of openpypemodule
This commit is contained in:
parent
887e4ba004
commit
901eb5bc9d
2 changed files with 23 additions and 1 deletions
|
|
@ -22,7 +22,7 @@ OpenPype modules should contain separated logic of specific kind of implementati
|
|||
- `__init__` should not be overridden and `initialize` should not do time consuming part but only prepare base data about module
|
||||
- also keep in mind that they may be initialized in headless mode
|
||||
- connection with other modules is made with help of interfaces
|
||||
- `cli` method - can add cli commands specific for the module
|
||||
- `cli` method - add cli commands specific for the module
|
||||
- command line arguments are handled using `click` python module
|
||||
- `cli` method should expect single argument which is click group on which can be called any group specific methods (e.g. `add_command` to add another click group as children see `ExampleAddon`)
|
||||
- it is possible to add trigger cli commands using `./openpype_console module <module_name> <command> *args`
|
||||
|
|
|
|||
|
|
@ -431,6 +431,28 @@ class OpenPypeModule:
|
|||
"""
|
||||
return {}
|
||||
|
||||
def cli(self, module_click_group):
|
||||
"""Add commands to click group.
|
||||
|
||||
The best practise is to create click group for whole module which is
|
||||
used to separate commands.
|
||||
|
||||
class MyPlugin(OpenPypeModule):
|
||||
...
|
||||
def cli(self, module_click_group):
|
||||
module_click_group.add_command(cli_main)
|
||||
|
||||
|
||||
@click.group(<module name>, help="<Any help shown in cmd>")
|
||||
def cli_main():
|
||||
pass
|
||||
|
||||
@cli_main.command()
|
||||
def mycommand():
|
||||
print("my_command")
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class OpenPypeAddOn(OpenPypeModule):
|
||||
# Enable Addon by default
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue