def parse_args(argv): usage = "usage: %prog [options] [args]" parser = OptionParser(usage) parser.add_option("-U", "--username", dest="username", help="username(email)") parser.add_option("-p", "--password", action="store_true", dest="password", help="prompt password") parser.add_option("-a", "--auth-token", action="store_true", dest="auth_token", help="print auth token") parser.add_option("-I", "--account-info", action="store_true", dest="account_info", help="get account info") parser.add_option("-t", "--target", dest="target", help="target(f for file<default>, d for directory)") parser.add_option("-l", "--list", action="store_true", dest="list", help="list directory") parser.add_option("-w", "--what-id", dest="what_id", help="get a path(server-side)'s id") parser.add_option("-i", "--info", action="store_true", dest="info", help="get file info") parser.add_option("-M", "--mkdir", action="store_true", dest="mkdir", help="make a directory") parser.add_option("-R", "--remove", action="store_true", dest="remove", help="remove a file or directory") parser.add_option("-m", "--move", action="store_true", dest="move", help="move a file or directory") parser.add_option("-r", "--rename", action="store_true", dest="rename", help="rename a file or directory") parser.add_option("-1", "--onelevel", action="store_true", dest="onelevel", help="list one level files") parser.add_option("-z", "--zip", action="store_true", dest="zip", help="list file tree in zip format") parser.add_option("-N", "--nofiles", action="store_true", dest="nofiles", help="only list directory") parser.add_option("-s", "--simple", action="store_true", dest="simple", help="simple info") parser.add_option("-c", "--chdir", dest="chdir", help="change directory") parser.add_option("-d", "--download", action="store_true", dest="download", help="download file") parser.add_option("-u", "--upload", action="store_true", dest="upload", help="upload file") parser.add_option("-P", "--plain-name", action="store_true", dest="plain", help="use plain name instead of id") parser.add_option("-C", "--compare", action="store_true", dest="compare", help="compare local and remote directories") parser.add_option("-S", "--sync", action="store_true", dest="sync", help="sync local and remote files or directories") parser.add_option("-n", "--dry-run", action="store_true", dest="dry_run", help="show what would have been transferred when sync") parser.add_option("-f", "--from-file", dest="from_file", help="read arguments(separated by line break) from file") (options, args) = parser.parse_args(argv) if options.from_file: with open(options.from_file) as f: args = [arg.strip() for arg in f.readlines()] return (parser, options, decode_args(args, options))
def parse_args(argv): usage = "usage: %prog [options] arg1 [arg2 ...]" parser = OptionParser(usage) parser.add_option("-L", "--login", dest="login", help="login to create/update auth tokens") parser.add_option("-U", "--user", dest="user_account", help="user account") parser.add_option("-a", "--auth-token", action="store_true", dest="auth_token", help="print auth tokens") parser.add_option("-I", "--account-info", action="store_true", dest="account_info", help="get account info") parser.add_option("-t", "--target", dest="target", help="target(f for file<default>, d for directory)") parser.add_option("-l", "--list", action="store_true", dest="list", help="list directory") parser.add_option("--limit", dest="limit", help="limit of list items(default: 1000)") parser.add_option("--offset", dest="offset", help="offset of list items(default: 0)") parser.add_option("-F", "--fields", dest="fields", help="attributes to include in list items(default: 0)") parser.add_option("-w", "--what-id", dest="what_id", help="get a path(server-side)'s id") parser.add_option("-i", "--info", action="store_true", dest="info", help="get file info") parser.add_option("-M", "--mkdir", action="store_true", dest="mkdir", help="make a directory") parser.add_option("-R", "--remove", action="store_true", dest="remove", help="remove a file or directory") parser.add_option("--recursive", action="store_true", dest="recursive", help="recursive") parser.add_option("-m", "--move", action="store_true", dest="move", help="move a file or directory") parser.add_option("-r", "--rename", action="store_true", dest="rename", help="rename a file or directory") parser.add_option("-c", "--chdir", dest="chdir", help="change directory") parser.add_option("-d", "--download", action="store_true", dest="download", help="download file") parser.add_option("-u", "--upload", action="store_true", dest="upload", help="upload file") parser.add_option("-C", "--compare", action="store_true", dest="compare", help="compare local and remote directories") parser.add_option("-p", "--push", action="store_true", dest="push", help="sync from local(source) to remote(destination) " "directories") parser.add_option("-P", "--pull", action="store_true", dest="pull", help="sync from remote(source) to local(destination) " "directories") parser.add_option("-n", "--dry-run", action="store_true", dest="dry_run", help="show what would have been transferred when sync") parser.add_option("-x", "--exclude", dest="exclude", help="exclude files whose names match the given regex") parser.add_option("-D", "--delete", action="store_true", dest="delete", help="delete extraneous files from destination") parser.add_option("--del-exclude", action="store_true", dest="del_exclude", help="delete excluded files from destination") parser.add_option("-v", "--verbose", action="store_true", dest="verbose", help="show more details") parser.add_option("-f", "--from-file", dest="from_file", help="read arguments(separated by line break) from file") (options, args) = parser.parse_args(argv) if options.from_file: with open(options.from_file) as f: args = [arg.strip() for arg in f.readlines()] return parser, options, decode_args(args, options)