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)
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)
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),)
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'), )
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'),)
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), )
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)