Perfect! 

I had found `nbdime.diffing.notebooks.set_notebook_diff_targets` and 
noticed the global setting, but missed that I could use a context manager. 

On Tuesday, July 11, 2017 at 3:06:49 AM UTC-7, vidartf wrote:
>
> The function you want is 
> `nbdime.diffing.notebooks.set_notebook_diff_targets`. It is not very 
> well exposed because its current implementation is a bit hackish: It 
> currently sets what to diff in a global (i.e. for the running 
> session). As such, it is a good candidate for a refactor, but for now 
> you should probably wrap it in a context manager to ensure it is reset 
> after calling it (snippet included below for convenience). 
>
>
> from contextlib import contextmanager 
> from nbdime.diffing.notebooks import set_notebook_diff_targets 
> @contextmanager 
> def diff_targets(sources=True, outputs=True, metadata=True): 
>     set_notebook_diff_targets(sources=sources, outputs=outputs, 
> metadata=metadata) 
>     try: 
>         yield 
>     finally: 
>         set_notebook_diff_targets()  # default options will reset 
>
> def only_diff_targets(sources=False, outputs=False, metadata=False): 
>     return diff_targets(sources, outputs, metadata) 
>
> # Usage: 
>
> import nbdime 
> import nbformat 
> afn = 'local file.ipynb' 
> bfn = 'remote file.ipynb' 
> a = nbformat.read(afn, as_version=4) 
> b = nbformat.read(bfn, as_version=4) 
> with only_diff_targets(outputs=True): 
>     diff = nbdime.diff_notebooks(a, b) 
> nbdime.prettyprint.pretty_print_notebook_diff(afn, bfn, a, diff) 
>
>
> On Mon, Jul 10, 2017 at 7:52 PM, Adam Rule <[email protected] <javascript:>> 
> wrote: 
> > I noticed there are console commands for controlling which part of the 
> > notebook to diff using nbdime (source, output, metadata, attachments). 
> How 
> > do I set these options when calling nbdime.diff() from python rather 
> than 
> > the command line? I've looked through the documentation and source code 
> and 
> > it seems to be related to the `differs` parameter in the diff function, 
> but 
> > I have not (yet) figured out how to set it properly. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Project Jupyter" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/jupyter/b7366123-7db7-4635-81c2-f27c19df0bca%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/132cfc09-b13f-4713-aea9-53e0cb0a94c8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to