예제 #1
0
def main(args=None):
    if args is None:
        args = sys.argv[1:]
    import argparse
    parser = ConfigBackedParser(
        'hg-nbdiff',
        description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter,
    )

    add_diff_args(parser)
    add_diff_cli_args(parser)
    add_prettyprint_args(parser)
    add_filename_args(parser, ('base', 'remote'))

    opts = parser.parse_args(args)

    # TODO: Filter base/remote: If directories, find all modified notebooks
    # If files that are not notebooks, ensure a decent error is printed.
    if not os.path.isfile(opts.base) or not os.path.isfile(opts.remote):
        base, remote = opts.base, opts.remote
        for a, b in diff_directories(base, remote):
            opts.base, opts.remote = a, b
            ret = nbdiffapp.main_diff(opts)
            if ret != 0:
                return ret
        return ret
    else:
        return nbdiffapp.main_diff(opts)
예제 #2
0
파일: diff.py 프로젝트: vidartf/nbdime
def main(args=None):
    if args is None:
        args = sys.argv[1:]
    import argparse
    parser = ConfigBackedParser('hg-nbdiff', description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter,
    )

    add_diff_args(parser)
    add_diff_cli_args(parser)
    add_filename_args(parser, ('base', 'remote'))

    opts = parser.parse_args(args)

    # TODO: Filter base/remote: If directories, find all modified notebooks
    # If files that are not notebooks, ensure a decent error is printed.
    if not os.path.isfile(opts.base) or not os.path.isfile(opts.remote):
        base, remote = opts.base, opts.remote
        for a, b in diff_directories(base, remote):
            opts.base, opts.remote = a, b
            ret = nbdiffapp.main_diff(opts)
            if ret != 0:
                return ret
        return ret
    else:
        return nbdiffapp.main_diff(opts)
예제 #3
0
def test_diff_file_deleted(tmpdir, filespath):
    src = filespath

    make_dirs(tmpdir)

    dir1 = str(tmpdir.join('dir1'))
    dir2 = str(tmpdir.join('dir2'))

    shutil.copy(pjoin(src, 'src-and-output--1.ipynb'), pjoin(dir1, 'subA', 'subsub', 'a.ipynb'))

    diffs = diff_directories(dir1, dir2)
    # Make paths relative for comparison:
    diffs = tuple((relpath(a, dir1), b) for (a, b) in diffs)
    assert diffs == ((pjoin('subA', 'subsub', 'a.ipynb'), EXPLICIT_MISSING_FILE),)
예제 #4
0
def test_diff_root_files(tmpdir, filespath):
    src = filespath

    make_dirs(tmpdir)

    dir1 = str(tmpdir.join('dir1'))
    dir2 = str(tmpdir.join('dir2'))

    shutil.copy(pjoin(src, 'src-and-output--1.ipynb'), pjoin(dir1, 'a.ipynb'))
    shutil.copy(pjoin(src, 'src-and-output--2.ipynb'), pjoin(dir2, 'a.ipynb'))

    diffs = diff_directories(dir1, dir2)
    # Make paths relative for comparison:
    diffs = tuple((relpath(a, dir1), relpath(b, dir2)) for (a, b) in diffs)
    assert diffs == (('a.ipynb', 'a.ipynb'), )
예제 #5
0
def test_diff_root_files(tmpdir, filespath):
    src = filespath

    make_dirs(tmpdir)

    dir1 = str(tmpdir.join('dir1'))
    dir2 = str(tmpdir.join('dir2'))

    shutil.copy(pjoin(src, 'src-and-output--1.ipynb'), pjoin(dir1, 'a.ipynb'))
    shutil.copy(pjoin(src, 'src-and-output--2.ipynb'), pjoin(dir2, 'a.ipynb'))

    diffs = diff_directories(dir1, dir2)
    # Make paths relative for comparison:
    diffs = tuple((relpath(a, dir1), relpath(b, dir2)) for (a, b) in diffs)
    assert diffs == (('a.ipynb', 'a.ipynb'),)
예제 #6
0
def test_diff_file_deleted(tmpdir, filespath):
    src = filespath

    make_dirs(tmpdir)

    dir1 = str(tmpdir.join('dir1'))
    dir2 = str(tmpdir.join('dir2'))

    shutil.copy(pjoin(src, 'src-and-output--1.ipynb'),
                pjoin(dir1, 'subA', 'subsub', 'a.ipynb'))

    diffs = diff_directories(dir1, dir2)
    # Make paths relative for comparison:
    diffs = tuple((relpath(a, dir1), b) for (a, b) in diffs)
    assert diffs == ((pjoin('subA', 'subsub',
                            'a.ipynb'), EXPLICIT_MISSING_FILE), )
예제 #7
0
파일: diffweb.py 프로젝트: zgolkhou/nbdime
def main(args=None):
    if args is None:
        args = sys.argv[1:]
    import argparse
    parser = ConfigBackedParser('hg-nbdiffweb', description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter,
    )

    nbdifftool.build_arg_parser(parser)
    opts = parser.parse_args(args)

    # TODO: If a/b are files that are not notebooks, ensure a decent error is printed.
    if not os.path.isfile(opts.local) or not os.path.isfile(opts.remote):
        local, remote = opts.local, opts.remote
        for a, b in diff_directories(local, remote):
            opts.local, opts.remote = a, b
            ret = nbdifftool.main_parsed(opts)
            if ret != 0:
                return ret
        return ret
    else:
        return nbdifftool.main_parsed(opts)