class TestOptionGroup(BaseTest): def setUp(self): self.parser = OptionParser(usage=SUPPRESS_USAGE) def test_option_group_create_instance(self): group = OptionGroup(self.parser, "Spam") self.parser.add_option_group(group) group.add_option("--spam", action="store_true", help="spam spam spam spam") self.assertParseOK(["--spam"], {"spam": 1}, []) def test_add_group_no_group(self): self.assertTypeError(self.parser.add_option_group, "not an OptionGroup instance: None", None) def test_add_group_invalid_arguments(self): self.assertTypeError(self.parser.add_option_group, "invalid arguments", None, None) def test_add_group_wrong_parser(self): group = OptionGroup(self.parser, "Spam") group.parser = OptionParser() self.assertRaises( self.parser.add_option_group, (group,), None, ValueError, "invalid OptionGroup (wrong parser)" ) def test_group_manipulate(self): group = self.parser.add_option_group("Group 2", description="Some more options") group.set_title("Bacon") group.add_option("--bacon", type="int") self.assert_(self.parser.get_option_group("--bacon"), group)
class TestOptionGroup(BaseTest): def setUp(self): self.parser = OptionParser(usage=SUPPRESS_USAGE) def test_option_group_create_instance(self): group = OptionGroup(self.parser, "Spam") self.parser.add_option_group(group) group.add_option("--spam", action="store_true", help="spam spam spam spam") self.assertParseOK(["--spam"], {'spam': 1}, []) def test_add_group_no_group(self): self.assertTypeError(self.parser.add_option_group, "not an OptionGroup instance: None", None) def test_add_group_invalid_arguments(self): self.assertTypeError(self.parser.add_option_group, "invalid arguments", None, None) def test_add_group_wrong_parser(self): group = OptionGroup(self.parser, "Spam") group.parser = OptionParser() self.assertRaises(self.parser.add_option_group, ValueError, "invalid OptionGroup (wrong parser)", funcargs=[group]) def test_group_manipulate(self): group = self.parser.add_option_group("Group 2", description="Some more options") group.set_title("Bacon") group.add_option("--bacon", type="int") self.assert_(self.parser.get_option_group("--bacon"), group)
def main(args=None): """CLI script entry point""" warnings.showwarning = lambda *args, **kwargs: None logging.basicConfig(level=logging.DEBUG, format='[%(asctime)s] %(message)s') option_parser = OptionParser(add_help_option=False) option_parser.add_option('-?', '--help', action='help') add_general_options(option_parser) add_auth_options(option_parser) add_filter_options(option_parser) if not args: args = sys.argv args = [unicode(arg, locale.nl_langinfo(locale.CODESET)) for arg in args] for arg in args: print "%r" % arg opts, args = option_parser.parse_args(args) if opts.debug: for handler in logging.root.handlers: logging.root.handlers.remove(handler) logging.basicConfig(level=logging.DEBUG) if opts.password: opts.password = getpass.getpass("Password:") if opts.replication: opts.extra_options += ' --master-data=2' filter_optgroup = option_parser.get_option_group('--include-databases') filter_options = filter_optgroup.option_list for opt in filter_options: filters = compile_filters(getattr(opts, opt.dest)) setattr(opts, opt.dest, filters) if opts.dry_run: dry_run(opts.__dict__) else: start(opts.__dict__)