I'm developping a large Python3 application, with Click to handle parameters.
Some actions have many scenarios, and I describe them in the epilog.
To keep the script clean, I would like to put epilogs in separate files, read them and format them with \b to have the multi lines support.
Can I do this and how, please ?
My actual code :
import click
@click.command(epilog="""\b
Commands:
action Available values are : check, create, delete, get, index, list, restore, write
part Available values are : template, data, backup
item Available values are : level, folder, record, group, variable
\b
Available situations and parameters:
- activate (Activate a project version) (T) :
(no parameter)
...
""")
@click.argument('action', metavar='action', type=click.Choice(['activate', 'check', 'create', 'copy', 'delete', 'get', 'index', 'list', 'restore', 'write']))
@click.argument('part', metavar='part', type=click.Choice(['backup', 'data', 'template', 'version']), required=False)
@click.argument('item', metavar='item', type=click.Choice(['level', 'folder', 'record', 'group', 'variable']), required=False)
def project(action, part, item):
# some stuff
What I want :
import click
# >>> Read a 'project.epilog' file into epilog var <<< #
@click.command(epilog=epilog)
@click.argument('action', metavar='action', type=click.Choice(['activate', 'check', 'create', 'copy', 'delete', 'get', 'index', 'list', 'restore', 'write']))
@click.argument('part', metavar='part', type=click.Choice(['backup', 'data', 'template', 'version']), required=False)
@click.argument('item', metavar='item', type=click.Choice(['level', 'folder', 'record', 'group', 'variable']), required=False)
def project(action, part, item):
# some stuff
I found the solution with
re:The final result is :