-
-
Notifications
You must be signed in to change notification settings - Fork 389
Open
Description
CLI help message seems broken when using subcommands
Example for the following code
Content of manage.py
"""
Manage database objects
Usage: manage [-h] COMMAND [options]
"""
import hug
# Create user api
users_api = hug.API(name='users', doc='Manage users')
@hug.object(name='user', api=users_api)
class UsersCLI:
@staticmethod
@hug.object.cli
def add(name:hug.types.text):
"""Create user"""
@staticmethod
@hug.object.cli
def rm(id:hug.types.number):
"""Remove user with given id"""
# Create permission api
permissions_api = hug.API(name='permissions', doc="Manage users permissions")
@hug.object(name='permission', api=permissions_api)
class PermissionCLI:
@staticmethod
@hug.object.cli
def add(name:hug.types.text):
"""Create permission"""
@staticmethod
@hug.object.cli
def attach(uid:hug.types.number, pid:hug.types.number):
"""Give permission {pid} to user {uid}"""
def main():
api = hug.API(name='manage', doc=__doc__)
api.extend(users_api, sub_command='users')
api.extend(permissions_api, sub_command='permissions')
api.cli()
if __name__ == '__main__':
main()
Actual behavior
Currently doing...
python -m manage
...results in :
Manage database objects
Usage: manage [-h] COMMAND [options]
Available Commands:
- users: Manage users Available Commands: - add: Create user - rm: Remove...
- permissions: Manage users permissions Available Commands: - add: Create...
Proposed behavior
It should rather be:
Manage database objects
Usage: manage [-h] COMMAND [options]
Available Commands:
- users Manage users
- permissions Manage users permissions
Metadata
Metadata
Assignees
Labels
No labels