Great !

Looking FWD to see your custom content manager !
--
M

On Mon, Sep 26, 2016 at 10:05 AM, Steven Anton <[email protected]> wrote:
> Hi Matthias, yes that makes perfect sense. Also, I just noticed this page,
> which has a really good explanation. I don't know why I couldn't find that
> before when I was searching. Thanks again!
>
> On Monday, September 26, 2016 at 10:00:40 AM UTC-7, Matthias Bussonnier
> wrote:
>>
>> Hi Steve,
>>
>> Quickly handwaved:
>>
>> ```
>> from traitlets import Configurable, Unicode
>>
>>
>> class MyCustomContentManager(Configurable):
>>
>>
>>
>>     # the class attribute will be AutoMagically be made a instance one
>> and accessible via self.parameter.
>>     parameter = Unicode('default', config=True, help='Frobulate
>> parameter as Unicode from the command line or config files.')
>>
>>     def __init__(self, ..., parent=None, config=None):
>>         super().__init__(...,parent=parent, config=config) # important
>>         ...
>> ```
>>
>>
>> You can set the value of parameter with
>> `c.MyCustomContentManager.parameter = 'Whatever'` in any config file.
>>
>> This pattern is in many places of our codebase[1] and uses metaclasses.
>>
>> If your content manager inherit from ours , then
>> `c.ContentManager.parameter = 'Whatever'` should work as well.
>>
>> Does that make some sens ? There is a bit more magic involved if you
>> want advanced features, but I guess that might be already a lot to
>> digest.
>>
>> Cheers,
>> --
>> M
>>
>>
>> [1]:
>> https://github.com/jupyter/notebook/blob/master/notebook/services/contents/manager.py#L65-L95
>>
>> On Mon, Sep 26, 2016 at 9:47 AM, Steven Anton <[email protected]>
>> wrote:
>> > Hi everyone,
>> >
>> > I have a custom ContentsManager class that I'd like to configure using
>> > the
>> > standard Jupyter tools. In particular, I'm looking for something along
>> > the
>> > lines of adding a line like "c.MyContentsManager.parameter = 'value'" to
>> > the
>> > jupyter_notebook_config.py and reading that parameter in the custom
>> > ContentsManager. I'm hoping this is an easy task, but I can't seem to
>> > find
>> > the relevant functions in the jupyter source code. Maybe something like:
>> >
>> > # source code for the custom ContentsManager
>> >
>> > from notebook.services.config import ConfigManager
>> >
>> > cm = ConfigManager()
>> >
>> > cm.get("MyContentsManager").get("parameter", "default")
>> >
>> > Does anyone have ideas on how to accomplish this?
>> >
>> > Thanks so much!
>> > Steve
>> >
>> > --
>> > 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/193be8d9-3321-4dca-b058-6c9ce266355b%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/244fcb2c-574a-4ad1-8e43-29f4bb19e4bf%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/CANJQusWSz6FLB8pcESEda9PrcTF-4dt0X7MHrUJai8WukF7iDw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to