Source code for rpscripts.cli

'''This module provides the command line interface.'''

import argparse

from .config import VERSION

from . import annotator
from . import calculator
from . import converter
from . import info
from . import labeler
from . import plotter
from . import stats
from . import trimmer
from . import utils


[docs]def main() -> None: '''Parse the given command line arguments.''' # Subparsers parsers = [ calculator.Subparser, plotter.Subparser, annotator.Subparser, labeler.Subparser, info.Subparser, utils.Subparser, stats.Subparser, converter.Subparser, trimmer.Subparser, ] # Add new custom arg parsers here parsers.extend([ ]) main_parser = argparse.ArgumentParser( prog = 'rpscripts', description = 'Rhythmic Partitioning Scripts.', epilog = 'Further information available at https://github.com/msampaio/rpScripts') main_parser.add_argument('-v', '--version', action='version', version='%(prog)s ' + VERSION) subparsers = main_parser.add_subparsers( title='Subcommands', description='Available subcommands', ) # Initialize subparsers for parser_class in parsers: parser_class(subparsers).add_arguments() args = main_parser.parse_args() # args.func(args) # uncomment to check problems try: args.func(args) except AttributeError: main_parser.error('Too few arguments. Try rpscripts -h for help.')
if __name__ == '__main__': main()