()
return 0
Run autosub as a command-line program.
Run autosub as a command-line program.
Run autosub as a command - line program .
def main():
    """
    Run autosub as a command-line program.
    """
    parser = argparse.ArgumentParser()
    parser.add_argument('source_path', help="Path to the video or audio file to subtitle",
                        nargs='?')
    parser.add_argument('-C', '--concurrency', help="Number of concurrent API requests to make",
                        type=int, default=DEFAULT_CONCURRENCY)
    parser.add_argument('-o', '--output',
                        help="Output path for subtitles (by default, subtitles are saved in \
                        the same directory and name as the source path)")
    parser.add_argument('-F', '--format', help="Destination subtitle format",
                        default=DEFAULT_SUBTITLE_FORMAT)
    parser.add_argument('-S', '--src-language', help="Language spoken in source file",
                        default=DEFAULT_SRC_LANGUAGE)
    parser.add_argument('-D', '--dst-language', help="Desired language for the subtitles",
                        default=DEFAULT_DST_LANGUAGE)
    parser.add_argument('-K', '--api-key',
                        help="The Google Translate API key to be used. \
                        (Required for subtitle translation)")
    parser.add_argument('--list-formats', help="List all available subtitle formats",
                        action='store_true')
    parser.add_argument('--list-languages', help="List all available source/destination languages",
                        action='store_true')

    args = parser.parse_args()

    if args.list_formats:
        print("List of formats:")
        for subtitle_format in FORMATTERS:
            print("{format}".format(format=subtitle_format))
        return 0

    if args.list_languages:
        print("List of all languages:")
        for code, language in sorted(LANGUAGE_CODES.items()):
            print("{code}\t{language}".format(code=code, language=language))
        return 0

    if not validate(args):
        return 1

    try:
        subtitle_file_path = generate_subtitles(
            source_path=args.source_path,
            concurrency=args.concurrency,
            src_language=args.src_language,
            dst_language=args.dst_language,
            api_key=args.api_key,
            subtitle_file_format=args.format,
            output=args.output,
        )
        print("Subtitles file created at {}".format(subtitle_file_path))
    except KeyboardInterrupt:
        return 1

    return 0
def main ( ) : parser = argparse . ArgumentParser ( ) parser . add_argument ( 'source_path' , help = "Path to the video or audio file to subtitle" , nargs = '?' ) parser . add_argument ( '-C' , '--concurrency' , help = "Number of concurrent API requests to make" , type = int , default = DEFAULT_CONCURRENCY ) parser . add_argument ( '-o' , '--output' , help = "Output path for subtitles (by default, subtitles are saved in \
                        the same directory and name as the source path)" ) parser . add_argument ( '-F' , '--format' , help = "Destination subtitle format" , default = DEFAULT_SUBTITLE_FORMAT ) parser . add_argument ( '-S' , '--src-language' , help = "Language spoken in source file" , default = DEFAULT_SRC_LANGUAGE ) parser . add_argument ( '-D' , '--dst-language' , help = "Desired language for the subtitles" , default = DEFAULT_DST_LANGUAGE ) parser . add_argument ( '-K' , '--api-key' , help = "The Google Translate API key to be used. \
                        (Required for subtitle translation)" ) parser . add_argument ( '--list-formats' , help = "List all available subtitle formats" , action = 'store_true' ) parser . add_argument ( '--list-languages' , help = "List all available source/destination languages" , action = 'store_true' ) args = parser . parse_args ( ) if args . list_formats : print ( "List of formats:" ) for subtitle_format in FORMATTERS : print ( "{format}" . format ( format = subtitle_format ) ) return 0 if args . list_languages : print ( "List of all languages:" ) for code , language in sorted ( LANGUAGE_CODES . items ( ) ) : print ( "{code}\t{language}" . format ( code = code , language = language ) ) return 0 if not validate ( args ) : return 1 try : subtitle_file_path = generate_subtitles ( source_path = args . source_path , concurrency = args . concurrency , src_language = args . src_language , dst_language = args . dst_language , api_key = args . api_key , subtitle_file_format = args . format , output = args . output , ) print ( "Subtitles file created at {}" . format ( subtitle_file_path ) ) except KeyboardInterrupt : return 1 return 0