def parse_options(args): parser = optparse.OptionParser(usage=__doc__.strip()) release.add_basic_env_options(parser) action_tree.add_options(parser) parser.add_option("--mechanize-repository", metavar="DIRECTORY", dest="git_repository_path", help="path to mechanize git repository (default is cwd)") parser.add_option("--build-tools-repository", metavar="DIRECTORY", help=("path of mechanize-build-tools git repository, " "from which to get other website source files " "(default is not to build those files)")) parser.add_option("--website-repository", metavar="DIRECTORY", dest="mirror_path", help=("path of local website mirror git repository into " "which built files will be copied (default is not " "to copy the files)")) parser.add_option("--in-source-repository", action="store_true", dest="in_repository", help=("run all commands in original repository " "(specified by --git-repository), rather than in " "the clone of it in the release area")) parser.add_option("--tag-name", metavar="TAG_NAME") parser.add_option("--uri", default="http://wwwsearch.sourceforge.net/", help=("base URI to run tests against when not using a " "built-in web server")) options, remaining_args = parser.parse_args(args) nr_args = len(remaining_args) try: options.release_area = remaining_args.pop(0) except IndexError: parser.error("Expected at least 1 argument, got %d" % nr_args) if options.git_repository_path is None: options.git_repository_path = os.getcwd() if not release.is_git_repository(options.git_repository_path): parser.error("incorrect git repository path") if options.build_tools_repository is not None and \ not release.is_git_repository(options.build_tools_repository): parser.error("incorrect mechanize-build-tools repository path") mirror_path = options.mirror_path if mirror_path is not None: if not release.is_git_repository(options.mirror_path): parser.error("mirror path is not a git reporsitory") mirror_path = os.path.join(mirror_path, "mirror") if not os.path.isdir(mirror_path): parser.error("%r does not exist" % mirror_path) options.mirror_path = mirror_path return options, remaining_args
def parse_options(args): parser = optparse.OptionParser(usage=__doc__.strip()) release.add_basic_env_options(parser) parser.add_option("--git-repository", metavar="DIRECTORY", help="path to mechanize git repository (default is cwd)") parser.add_option("--in-source-repository", action="store_true", dest="in_repository", help=("run all commands in original repository " "(specified by --git-repository), rather than in " "the clone of it in the release area")) options, remaining_args = parser.parse_args(args) nr_args = len(remaining_args) try: options.release_area = remaining_args.pop(0) except IndexError: parser.error("Expected at least 1 argument, got %d" % nr_args) return options, remaining_args