示例#1
0
文件: fsop.py 项目: jackluo923/juxta
    fd = open(pn)
    for l in fd:
        l = l.strip()
        if l == "" or l.startswith("#"):
            continue
        if l.endswith("{"):
            val = _load_struct(fd)
            key = l.rstrip(" {").split("/")
            dbg.trace("%s", key)
            if len(key) == 0:
                continue
            conf.append((key, val))
    return conf

# XXX. remove after cleaning fops-3/4
dbg.quiet(["trace"])
global FOPS
# FOPS = _load_fops("NOTE.fops-4.0")
FOPS = _load_fops("NOTE.ieee80211.fops.normalized")


def get_ops(*specifiers):
    def _match(key, specifiers):
        # XXX. not completely trimmed yet
        if len(key) == 1:
            return False

        for (k, s) in zip(key, specifiers):
            if type(s) == list:
                if not k in s:
                    return False
示例#2
0
        lock = lock.replace("@", " @LOCATION: ")
        funcs[func] = PathCall(lock)
    return funcs


if __name__ == '__main__':
    parser = optparse.OptionParser()
    parser.add_option("--promo", "-p", help="list of promo log", default=None)
    (opts, args) = parser.parse_args()

    # load other targets
    if opts.promo:
        BOOTSTRAP.update(load_promo_log(opts.promo).keys())

    utils.install_pdb()

    # pick the latest one from /tmp
    log_d = utils.get_latest_file("/tmp/fss-*/")
    if log_d is None:
        # second choice
        log_d = os.path.join(ROOT, "data", "sample-fss-output")
    # perfered one
    if len(args) >= 1:
        log_d = args[0]

    # enable trace output on unittest
    if not "unit" in log_d:
        dbg.quiet(["trace"])

    analyze_lock_promo(log_d)
示例#3
0
def main():
    # do all the dirty works on command args
    parser = argparse.ArgumentParser(prog='MetaSync')
    parser.add_argument('--version', action='version', version='%(prog)s ' + VERSION)
    parser.add_argument('--quite', action='store_true', default=False)
    parser.add_argument('--debug', action='store_true', default=False)
    parser.add_argument('--authdir', default=None)
    parser.add_argument('--nthreads', default=2, type=int)
    parser.add_argument('--metasync',
                        help="root of metasync repo",
                        default=".")

    # add subparser for each command
    sub_parser = {}
    sub = parser.add_subparsers(dest="cmd")
    for (k, f) in get_all_cmds():
        p = sub.add_parser(k, help=f.__doc__)
        p.add_argument('args', nargs='*')
        sub_parser[k] = p

    # sub command specific option other than args
    sub_parser["test"].add_argument('--dump',
                                    help="hexdump of /objects",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--keep',
                                    help="keep test dir",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--slow',
                                    help="slow path for testing",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--encrypt',
                                    help="enable encryption",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--notree',
                                    help="do not dump the root tree",
                                    action="store_true",
                                    default=False)

    sub_parser["daemon"].add_argument('--nocheckin',
                                    action="store_true",
                                    default=False)

    # in case of not getting any arg
    if len(sys.argv) < 2:
        sys.argv.append('--help')

    args = parser.parse_args()
    # set quite
    dbg.quiet(["info", "err"])

    if args.debug:
        util.install_pdb()
        dbg.quiet(["info", "err","dbg","time"])
    import services
    services.auth_dir = args.authdir


    # invoke & exit
    exit(invoke_cmd(args.cmd, MetaSync(args.metasync, args), args))
示例#4
0
def main():
    # do all the dirty works on command args
    parser = argparse.ArgumentParser(prog='MetaSync')
    parser.add_argument('--version',
                        action='version',
                        version='%(prog)s ' + VERSION)
    parser.add_argument('--quite', action='store_true', default=False)
    parser.add_argument('--debug', action='store_true', default=False)
    parser.add_argument('--authdir', default=None)
    parser.add_argument('--nthreads', default=2, type=int)
    parser.add_argument('--metasync',
                        help="root of metasync repo",
                        default=".")

    # add subparser for each command
    sub_parser = {}
    sub = parser.add_subparsers(dest="cmd")
    for (k, f) in get_all_cmds():
        p = sub.add_parser(k, help=f.__doc__)
        p.add_argument('args', nargs='*')
        sub_parser[k] = p

    # sub command specific option other than args
    sub_parser["test"].add_argument('--dump',
                                    help="hexdump of /objects",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--keep',
                                    help="keep test dir",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--slow',
                                    help="slow path for testing",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--encrypt',
                                    help="enable encryption",
                                    action="store_true",
                                    default=False)

    sub_parser["test"].add_argument('--notree',
                                    help="do not dump the root tree",
                                    action="store_true",
                                    default=False)

    sub_parser["daemon"].add_argument('--nocheckin',
                                      action="store_true",
                                      default=False)

    # in case of not getting any arg
    if len(sys.argv) < 2:
        sys.argv.append('--help')

    args = parser.parse_args()
    # set quite
    dbg.quiet(["info", "err"])

    if args.debug:
        util.install_pdb()
        dbg.quiet(["info", "err", "dbg", "time"])
    import services
    services.auth_dir = args.authdir

    # invoke & exit
    exit(invoke_cmd(args.cmd, MetaSync(args.metasync, args), args))
示例#5
0
    report = lock.ErrReport(fd)
    for path in Parser(fss_d).parse():
        state = explore_path(path, report)

    report.report()
    fd.close()

if __name__ == '__main__':
    utils.install_pdb()

    # pick the latest one from /tmp
    log_d = utils.get_latest_file("/tmp/fss-*/")
    if log_d is None:
        # second choice
        log_d = os.path.join(ROOT, "data", "sample-fss-output")
    # perfered one
    if len(sys.argv) > 1:
        log_d = sys.argv[1]

    # enable trace output on unittest
    if not "unit" in log_d:
        dbg.quiet(["trace", "bug_lock"])

    dbg.info("> %s", log_d)

    report = lock.ErrReport()
    for path in Parser(log_d).parse():
        state = explore_path(path, report)
    report.report()