def test_disable(self):
        self._inject_mock_extension()
        toggle_serverextension_python('mockextension', True)
        toggle_serverextension_python('mockextension', False)

        config = self._get_config()
        assert not config['mockextension']
Exemple #2
0
def install_extensions(enable=True, user=False):
    """Register ipyparallel clusters tab as notebook extensions

    Toggle with enable=True/False.
    """
    import notebook

    from ipyparallel.util import _v

    if _v(notebook.__version__) < _v('4.2'):
        return _install_extension_nb41(enable)

    from notebook.nbextensions import (
        disable_nbextension,
        enable_nbextension,
        install_nbextension_python,
    )
    from notebook.serverextensions import toggle_serverextension_python

    toggle_serverextension_python('ipyparallel', user=user)
    install_nbextension_python('ipyparallel', user=user)
    if enable:
        enable_nbextension('tree', 'ipyparallel/main', user=user)
    else:
        disable_nbextension('tree', 'ipyparallel/main')
Exemple #3
0
    def run(self):
        install.run(self)

        log.info('Attempting to install and enable transmart-aborist extension.')
        log.info('This can be done manually by running.')
        log.info('  $ jupyter nbextension install --py tmtk.arborist')
        log.info('  $ jupyter serverextension enable --py tmtk.arborist')

        from notebook import __version__ as notebook_version
        if notebook_version < '4.2.0':
            log.info("Version of notebook package should be atleast 4.2.0 for Arborist, consider:")
            log.info("    $ pip3 install --upgrade notebook")

            raise RuntimeWarning("Notebook too old for Arborist.")

        from notebook.nbextensions import install_nbextension_python, enable_nbextension_python
        from notebook.serverextensions import toggle_serverextension_python, validate_serverextension

        enable_nbextension_python('widgetsnbextension', sys_prefix=True)

        install_nbextension_python('tmtk.arborist', sys_prefix=True, overwrite=True)
        toggle_serverextension_python('tmtk.arborist', enabled=True, sys_prefix=True)

        warnings = validate_serverextension('tmtk.arborist')
        if warnings:
            [log.warn(warning) for warning in warnings]
        else:
            log.info('Extension has been enabled.')
Exemple #4
0
    def run(self):
        install.run(self)

        log.info('Attempting to install and enable transmart-aborist extension.')
        log.info('This can be done manually by running.')
        log.info('  $ jupyter nbextension install --py tmtk.arborist')
        log.info('  $ jupyter serverextension enable --py tmtk.arborist')

        try:
            import notebook
        except ImportError:
            log.info("Cannot find module 'notebook'. Aborting automated install.")
            return

        notebook_version = getattr(notebook, '__version__')
        if notebook_version is None or notebook_version < '5.7.8':
            log.info("Version of notebook package should be at least 5.7.8 for Arborist, consider:")
            log.info("    $ pip install --upgrade notebook")
            log.info('Aborting automated install.')
            return

        from notebook.nbextensions import install_nbextension_python, enable_nbextension_python
        from notebook.serverextensions import toggle_serverextension_python, validate_serverextension

        enable_nbextension_python('widgetsnbextension', sys_prefix=True)

        install_nbextension_python('tmtk.arborist', sys_prefix=True, overwrite=True)
        toggle_serverextension_python('tmtk.arborist', enabled=True, sys_prefix=True)

        warnings = validate_serverextension('tmtk.arborist')
        if warnings:
            [log.warn(warning) for warning in warnings]
        else:
            log.info('Extension has been enabled.')
Exemple #5
0
    def test_disable(self):
        self._inject_mock_extension()
        toggle_serverextension_python('mockextension', True)
        toggle_serverextension_python('mockextension', False)

        config = self._get_config()
        assert not config['mockextension']
Exemple #6
0
 def run(self):
     install.run(self)
     # PUT YOUR POST-INSTALL SCRIPT HERE or CALL A FUNCTION
     print('Starting hide_code installation')
     # install extension
     notebook.nbextensions.install_nbextension_python('hide_code',
                                                      sys_prefix=True)
     # enable notebook extension
     notebook.nbextensions.enable_nbextension_python('hide_code',
                                                     sys_prefix=True)
     # enable server extension
     ns.toggle_serverextension_python('hide_code',
                                      enabled=True,
                                      sys_prefix=True)
Exemple #7
0
def install_extensions(enable=True):
    """Register ipyparallel clusters tab as notebook extensions
    
    Toggle with enable=True/False.
    """
    from distutils.version import LooseVersion as V
    import notebook
    
    if V(notebook.__version__) < V('4.2'):
        return _install_extension_nb41(enable)
    
    from notebook.nbextensions import install_nbextension_python, enable_nbextension, disable_nbextension
    from notebook.serverextensions import toggle_serverextension_python
    toggle_serverextension_python('ipyparallel.nbextension')
    install_nbextension_python('ipyparallel')
    if enable:
        enable_nbextension('tree', 'ipyparallel/main')
    else:
        disable_nbextension('tree', 'ipyparallel/main')
def install_extensions(enable=True):
    """Register ipyparallel clusters tab as notebook extensions
    
    Toggle with enable=True/False.
    """
    from distutils.version import LooseVersion as V
    import notebook

    if V(notebook.__version__) < V('4.2'):
        return _install_extension_nb41(enable)

    from notebook.nbextensions import install_nbextension_python, enable_nbextension, disable_nbextension
    from notebook.serverextensions import toggle_serverextension_python
    toggle_serverextension_python('ipyparallel.nbextension')
    install_nbextension_python('ipyparallel')
    if enable:
        enable_nbextension('tree', 'ipyparallel/main')
    else:
        disable_nbextension('tree', 'ipyparallel/main')
    def add_xunit(self):
        """ Hack the setup in the middle (after paths, before server)
        """
        super(NBAnacondaCloudTestController, self).add_xunit()

        with patch.dict(os.environ, self.env.copy()):
            sys_prefix = True
            pkg = "nb_anacondacloud"

            nbextensions.install_nbextension_python(pkg, sys_prefix=sys_prefix)
            nbextensions.enable_nbextension_python(pkg, sys_prefix=sys_prefix)
            serverextensions.toggle_serverextension_python(
                pkg, sys_prefix=sys_prefix)

            if (self.section == "auth") and self.use_token():
                home = os.environ["HOME"]
                _data_dir = "".join(
                    [self.home.name, dirs.user_data_dir[len(home):]])

                with open(TEST_LOG, "a+") as fp:
                    fp.write("\nCopying auth token to {}\n".format(_data_dir))

                shutil.copytree(dirs.user_data_dir, _data_dir)

            patch_auth = (self.section == "auth") and not self.use_token()

            serverextensions.toggle_serverextension_python(
                import_name="nb_anacondacloud.tests.patched",
                enabled=patch_auth,
                sys_prefix=sys_prefix)

            serverextensions.toggle_serverextension_python(
                import_name=pkg, enabled=not patch_auth, sys_prefix=sys_prefix)
Exemple #10
0
def run_nbextension_install(develop):
    from notebook.nbextensions import install_nbextension_python, enable_nbextension_python, install_nbextension
    from notebook.serverextensions import toggle_serverextension_python
    from notebook import version_info

    # Command: sudo jupyter nbextension enable --py widgetsnbextension
    print("Enabling geppettoJupyter extensions ...")
    isEnabled = enable_nbextension_python('widgetsnbextension')
    if not isEnabled:
        raise Exception('Problem enabling widgetsnbextension extension')

    # Command: sudo jupyter nbextension install --py geppettoJupyter
    print("Installing geppettoJupyter extension ...")
    install_nbextension_python('geppettoJupyter', symlink=develop)

    # Command: sudo jupyter nbextension enable --py geppettoJupyter
    print("Enabling geppettoJupyter extensions ...")
    isEnabled = enable_nbextension_python('geppettoJupyter')
    if not isEnabled:
        raise Exception('Problem enabling geppettoJupyter extension')

    # Command: jupyter serverextension enable --py geppettoJupyter
    print("Enabling server extensions ...")
    toggle_serverextension_python('geppettoJupyter', enabled=True)

    # Command: sudo jupyter nbextension install s
    # Command: sudo jupyter nbextension enable overwrite_get_msg_cell
    print("Installing and enabling additional geppettoJupyter extension ...")
    install_nbextension(
        'org.geppetto.frontend.jupyter/src/geppettoJupyter/overwrite_get_msg_cell.js',
        symlink=develop)
    ext_require_path = 'overwrite_get_msg_cell'
    if version_info[0] > 4:  # notebook 5.x
        from notebook.nbextensions import enable_nbextension
        enable_nbextension('notebook', ext_require_path)
    else:  # notebook 4.x
        from notebook.nbextensions import EnableNBExtensionApp
        EnableNBExtensionApp().toggle_nbextension(ext_require_path)
    def test_merge_config(self):
        # enabled at sys level
        mock_sys = self._inject_mock_extension('mockext_sys')
        # enabled at sys, disabled at user
        mock_both = self._inject_mock_extension('mockext_both')
        # enabled at user
        mock_user = self._inject_mock_extension('mockext_user')
        # enabled at Python
        mock_py = self._inject_mock_extension('mockext_py')

        toggle_serverextension_python('mockext_sys', enabled=True, user=False)
        toggle_serverextension_python('mockext_user', enabled=True, user=True)
        toggle_serverextension_python('mockext_both', enabled=True, user=False)
        toggle_serverextension_python('mockext_both', enabled=False, user=True)

        app = NotebookApp(nbserver_extensions={'mockext_py': True})
        app.init_server_extensions()

        assert mock_user.loaded
        assert mock_sys.loaded
        assert mock_py.loaded
        assert not mock_both.loaded
    def add_xunit(self):
        """ Hack the setup in the middle (after paths, before server)
        """
        super(NBAnacondaCloudTestController, self).add_xunit()

        with patch.dict(os.environ, self.env.copy()):
            sys_prefix = True
            pkg = "nb_anacondacloud"

            nbextensions.install_nbextension_python(
                pkg,
                sys_prefix=sys_prefix)
            nbextensions.enable_nbextension_python(
                pkg,
                sys_prefix=sys_prefix)
            serverextensions.toggle_serverextension_python(
                pkg,
                sys_prefix=sys_prefix)

            if (self.section == "auth") and self.use_token():
                home = os.environ["HOME"]
                _data_dir = "".join([
                    self.home.name,
                    dirs.user_data_dir[len(home):]])

                with open(TEST_LOG, "a+") as fp:
                    fp.write("\nCopying auth token to {}\n".format(
                        _data_dir
                    ))

                shutil.copytree(
                    dirs.user_data_dir,
                    _data_dir
                )

            patch_auth = (self.section == "auth") and not self.use_token()

            serverextensions.toggle_serverextension_python(
                import_name="nb_anacondacloud.tests.patched",
                enabled=patch_auth,
                sys_prefix=sys_prefix)

            serverextensions.toggle_serverextension_python(
                import_name=pkg,
                enabled=not patch_auth,
                sys_prefix=sys_prefix)
Exemple #13
0
# Copyright 2020 Makani Technologies LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Launch jupyter notebook."""

import os
import re
import sys

from makani.lib.bazel import bazel_util
from notebook.notebookapp import main
from notebook.serverextensions import toggle_serverextension_python

if __name__ == '__main__':
    os.chdir(bazel_util.GetWorkspaceRoot())
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    toggle_serverextension_python('jupyter_http_over_ws', enabled=True)
    sys.exit(main())
Exemple #14
0
from notebook.notebookapp import main
from notebook.nbextensions import install_nbextension_python, enable_nbextension_python
from notebook.serverextensions import toggle_serverextension_python
import sys
import subprocess

if __name__ == "__main__":
    # enable the jupytext server extension
    toggle_serverextension_python("jupytext", enabled=True)

    # install and enable the jupytext notebook extension
    install_nbextension_python("jupytext", user=True)
    enable_nbextension_python("jupytext")

    # we have to manually enable the "widgetsnbextension" notebook extension to use ipywidgets inside our hermetic
    # python interpreter
    install_nbextension_python("widgetsnbextension", user=True)
    enable_nbextension_python("widgetsnbextension")
    sys.exit(main(argv=["--no-browser"]))
Exemple #15
0
from notebook.notebookapp import main
from notebook.nbextensions import install_nbextension_python, enable_nbextension_python
from notebook.serverextensions import toggle_serverextension_python
import sys
import subprocess

if __name__ == "__main__":
    # a very nasty hack to install the jupytext server extension into the hermetic interpreter
    # we CANNOT do this with bazel because adding jupytext to the requirements.txt and then
    # adding it as a dependency causes a bazel dependency cycle
    # we do NOT install this package with '--user' because it alters files outside of the
    # bazel hermetic interpreter
    subprocess.check_call([sys.executable, "-m", "pip", "install", "jupytext==1.10.1"])
    # Sometimes jupyter cannot figure out that jupytext is installed, and the .py notebooks
    # won't load, requiring a restart of this script. This possibly remedies this issue.
    import jupytext

    # enable the jupytext server extension
    toggle_serverextension_python("jupytext")

    # install and enable the jupytext notebook extension
    install_nbextension_python("jupytext", user=True)
    enable_nbextension_python("jupytext")

    # we have to manually enable the "widgetsnbextension" notebook extension to use ipywidgets inside our hermetic
    # python interpreter
    install_nbextension_python("widgetsnbextension", user=True)
    enable_nbextension_python("widgetsnbextension")
    sys.exit(main())
Exemple #16
0
def install_serverextension(cmd):
    from notebook.serverextensions import toggle_serverextension_python
    toggle_serverextension_python('geonotebook', enabled=True, sys_prefix=True)
Exemple #17
0
def enable_server_ext():
    print("Enabling the server extension ...")
    toggle_serverextension_python('cite2c.handlers', enabled=True, user=True)