def dbremove(db, config, args): """ Remove a rule or a ruleset from the sequencer table. """ usage = "%prog [options] dbremove [--nodeps] " + \ "ruleset_name [rule_name...]" doc = """Remove all (given) rules from the sequencer table.""" cmd = os.path.basename(sys.argv[0]) progname=to_unicode(cmd).encode('ascii', 'replace') parser = optparse.OptionParser(usage, description=doc, prog=progname) add_options_to(parser, ['--Enforce', '--nodeps'], config) (options, remove_args) = parser.parse_args(args) if len(remove_args) < 1: parser.error(DBREMOVE_ACTION_NAME + \ ": expected at least %d arguments, given %d" % \ (1, len(remove_args))) ruleset = remove_args[0] rules = remove_args[1:] if len(remove_args) > 1 else None if not options.enforce: prompt = "Confirm the removal of %s ruleset %s?" % \ (("rules %s from" % \ ", ".join(rules)) if rules is not None else "whole", \ ruleset) if not confirm(prompt, False): _LOGGER.output("Canceled.") sys.exit(os.EX_OK) remaining = db.remove_rules(ruleset, rules, options.nodeps) if remaining is not None and len(remaining) != 0: _LOGGER.error(DBREMOVE_ACTION_NAME + \ ": unable to remove following rules %s " "from ruleset %s" ", ".join(remaining), ruleset)
def dbdrop(db, config, args): """ Drop the sequencer table. """ usage = "%prog [options] dbdrop" doc = DBDROP_DOC parser = optparse.OptionParser(usage, description=doc) add_options_to(parser, ['--Enforce'], config) (options, dbdrop_args) = parser.parse_args(args) if len(dbdrop_args) != 0: parser.error(DBDROP_ACTION_NAME + \ ": expected %d arguments, given %d" %\ (0, len(dbdrop_args))) if not options.enforce: if not confirm("Confirm the full deletion of the sequencer table?", False): _LOGGER.output("Canceled.") sys.exit(os.EX_OK) db.drop_table()