コード例 #1
0
ファイル: cli.py プロジェクト: pv-bull/sequencer
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)
コード例 #2
0
ファイル: cli.py プロジェクト: af-bull/sequencer
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()