Python IPython.display 模块,Javascript() 实例源码

我们从Python开源项目中,提取了以下17个代码示例,用于说明如何使用IPython.display.Javascript()

项目:accpy    作者:kramerfelix    | 项目源码 | 文件源码
def autoscroll(threshhold):
    if threshhold==0:  # alway scroll !not good
        javastring = '''
        IPython.OutputArea.prototype._should_scroll = function(lines) {
            return true;
        }
        '''
    elif threshhold==-1:  # never scroll !not good
        javastring = '''
        IPython.OutputArea.prototype._should_scroll = function(lines) {
            return false;
        }
        '''
    else:
        javastring = 'IPython.OutputArea.auto_scroll_threshold = ' + str(threshhold)
    display(Javascript(javastring))
项目:ipython-IDV    作者:Unidata    | 项目源码 | 文件源码
def publish_notebook(extra=None):
        # If we do this then the Javascript object shows up in the notebook
        # js = Javascript('IPython.notebook.save_checkpoint();')
        # display(js)
        file = Idv.getname()
        if file is None:
            return
        isl = '<isl><publish file="' + file + '"/></isl>'
        DrilsdownUI.status("Make sure you do 'File->Save and Checkpoint'. Check your IDV to publish the file")
        result = Idv.run_isl(isl);
        if not result.ok():
            print("Publication failed")
            return
        if result.get_results().strip()!="":
            print("Publication successful")
            print("URL: " + result.get_results())
            return
        print("Publication failed")
项目:paramnb    作者:ioam    | 项目源码 | 文件源码
def run_next_cells(n):
    if n=='all':
        n = 'NaN'
    elif n<1:
        return

    js_code = """
       var num = {0};
       var run = false;
       var current = $(this)[0];
       $.each(IPython.notebook.get_cells(), function (idx, cell) {{
          if ((cell.output_area === current) && !run) {{
             run = true;
          }} else if ((cell.cell_type == 'code') && !(num < 1) && run) {{
             cell.execute();
             num = num - 1;
          }}
       }});
    """.format(n)

    display(Javascript(js_code))
项目:slicematrixIO-python    作者:tynano    | 项目源码 | 文件源码
def init_data(self):
        # check if window.graph_data already exists
        # if so then return True
        # else create window.graph_data = {} then return false
        js_code = """
            window.graph_data = [];
            window.current_graph_id = -1;
            window.current_graph_id2 = 0; 

            /*
            require(['d3'], function(d3){
                window.d3 = d3;
            });
            */
        """
        return Javascript(js_code)
项目:snowballing    作者:JoaoFelipe    | 项目源码 | 文件源码
def display_cell(text):
    """Remove cells that start with "# Temp" and add a new one

    Arguments:

    * `text` -- new cell content

    """
    encoded_code = bytes_to_str(base64.b64encode(str_to_bytes(text)))
    display(Javascript("""
        $('span:contains("# Temp")').closest('.cell').remove();
        var code = IPython.notebook.insert_cell_{0}('code');
        code.set_text(atob("{1}"));
    """.format('below', encoded_code)))
项目:pybel-tools    作者:pybel    | 项目源码 | 文件源码
def to_jupyter(graph, width=DEFAULT_WIDTH, height=DEFAULT_HEIGHT, color_map=None, replace_cnames=False):
    """Displays the BEL graph inline in a Jupyter notebook.

    To use successfully, make run as the last statement in a cell inside a Jupyter notebook.

    :param pybel.BELGraph graph: A BEL graph
    :param int width: The width of the visualization window to render
    :param int height: The height of the visualization window to render
    :param dict color_map: A dictionary from PyBEL internal node functions to CSS color strings like #FFEE00. Defaults
                    to :data:`default_color_map`
    :return: An IPython notebook Javascript object
    :rtype: :class:`IPython.display.Javascript`
    """
    from IPython.display import Javascript

    return Javascript(to_jupyter_str(
        graph,
        width=width,
        height=height,
        color_map=color_map,
        replace_cnames=replace_cnames
    ))
项目:myhdlpeek    作者:xesscorp    | 项目源码 | 文件源码
def wavejson_to_wavedrom(wavejson, width=None, skin='default'):
    '''
    Create WaveDrom display from WaveJSON data.

    This code is from https://github.com/witchard/ipython-wavedrom.

    Inputs:
      width: Width of the display window in pixels. If left as None, the entire
             waveform will be squashed into the width of the page. To prevent
             this, set width to a large value. The display will then become scrollable.
      skin:  Selects the set of graphic elements used to draw the waveforms.
             Allowable values are 'default' and 'narrow'.
    '''

    # Set the width of the waveform display.
    style = ''
    if width != None:
        style = ' style="width: {w}px"'.format(w=str(int(width)))

    # Generate the HTML from the JSON.
    htmldata = '<div{style}><script type="WaveDrom">{json}</script></div>'.format(
        style=style, json=json.dumps(wavejson))
    DISP.display_html(DISP.HTML(htmldata))

    # Trigger the WaveDrom Javascript that creates the graphical display.
    DISP.display_javascript(
        DISP.Javascript(
            data='WaveDrom.ProcessAll();',
            lib=[
                'http://wavedrom.com/wavedrom.min.js',
                'http://wavedrom.com/skins/{skin}.js'.format(skin=skin)
            ]))

    # The following allows the display of WaveDROM in the HTML files generated by nbconvert.
    # It's disabled because it makes Github's nbconvert freak out.
    setup = '''
<script src="http://wavedrom.com/skins/{skin}.js" type="text/javascript"></script>
<script src="http://wavedrom.com/wavedrom.min.js" type="text/javascript"></script>
<body onload="WaveDrom.ProcessAll()">
    '''.format(skin=skin)
    #DISP.display_html(DISP.HTML(setup))
项目:pypki2    作者:nbgallery    | 项目源码 | 文件源码
def ipython_config(self):
        temp_config = _Configuration(self.config_path)
        if temp_config.has('p12') and 'path' in temp_config.get('p12'):
            pass
        else:
            if _in_ipython:
                from IPython.display import display, Javascript
                display(Javascript("MyPKI.init({'no_verify':true, configure:true});"))
                print('Configuring .mypki via JavaScript .p12 dialog...')
                while True:
                    temp_config = _Configuration(self.config_path)
                    if temp_config.has('p12') and 'path' in temp_config.get('p12'):
                        break
                    else:
                        sleep(2)
项目:SQLCell    作者:tmthyjames    | 项目源码 | 文件源码
def display(self, columns=[], msg=None):
        data = self.data if len(self.data) <= 100 else self.data[:49] + [['...'] * (len(self.data[0]))] + self.data[-49:]
        table_str = HTMLTable([columns] + data, self.id_)._repr_html_(n_rows=100, length=len(self.data))
        table_str = table_str.replace('<table', '<table class="table-striped table-hover table-bordered"').replace("'", "\\'").replace('\n','')
        display(
            HTML(
                """
                <script type="text/Javascript">
                $('#dbinfo{id}').append('{msg}');
                $('#table{id}').append('{table}');
                </script>
                """.format(msg=str(msg), table=table_str, id=self.id_)
            )
        )
项目:SQLCell    作者:tmthyjames    | 项目源码 | 文件源码
def load_js_files():
    display(Javascript(
        load_js_scripts()
    ))
    return None
项目:paramnb    作者:ioam    | 项目源码 | 文件源码
def __call__(self, parameterized, **params):
        self.p = param.ParamOverrides(self, params)
        if self.p.initializer:
            self.p.initializer(parameterized)

        self._widgets = {}
        self.parameterized = parameterized

        widgets, views = self.widgets()
        layout = ipywidgets.Layout(display='flex', flex_flow=self.p.layout)
        if self.p.close_button:
            layout.border = 'solid 1px'

        widget_box = ipywidgets.VBox(children=widgets, layout=layout)
        if views:
            view_box = ipywidgets.VBox(children=views, layout=layout)
            layout = self.p.view_position
            if layout in ['below', 'right']:
                children = [widget_box, view_box]
            else:
                children = [view_box, widget_box]
            box = ipywidgets.VBox if layout in ['below', 'above'] else ipywidgets.HBox
            widget_box = box(children=children)

        display(Javascript(WIDGET_JS))
        display(widget_box)
        self._widget_box = widget_box

        for view in views:
            p_obj = self.parameterized.params(view.name)
            value = getattr(self.parameterized, view.name)
            if value is not None:
                self._update_trait(view.name, p_obj.renderer(value))

        # Keeps track of changes between button presses
        self._changed = {}

        if self.p.on_init:
            self.execute()
项目:jupyter-notify    作者:ShopRunner    | 项目源码 | 文件源码
def __init__(self, shell, require_interaction=False):
        super(JupyterNotifyMagics, self).__init__(shell)
        with open(resource_filename("jupyternotify", "js/init.js")) as jsFile:
            jsString = jsFile.read()
        display(Javascript(jsString))
        self.options = {
            "requireInteraction": require_interaction,
            "icon": "/static/base/images/favicon.ico",
        }
项目:jupyter-notify    作者:ShopRunner    | 项目源码 | 文件源码
def display_notification(self, options=None, notification_uuid=None):
        if options is None:
            options = self.options
        if notification_uuid is None:
            notification_uuid = uuid.uuid4()

        # display our browser notification using javascript
        with open(resource_filename("jupyternotify", "js/notify.js")) as jsFile:
            jsString = jsFile.read()
        display(Javascript(jsString % {
            "notification_uuid": notification_uuid,
            "options": json.dumps(options),
        }))
项目:elm    作者:ContinuumIO    | 项目源码 | 文件源码
def select_url(self, url):
        self.selected_url = url
        display(Javascript("""
            var run = false, current = $(this)[0];
            $.each(IPython.notebook.get_cells(), function (idx, cell) {
                if (!run && (cell.output_area === current)) {
                    run = true;
                } else if (cell.cell_type == 'code') {
                    cell.execute();
                }
            });
        """))
项目:snowballing    作者:JoaoFelipe    | 项目源码 | 文件源码
def clear(self):
        """Clear cell and output"""
        if self.disable_show:
            return
        self.to_display = []
        display(Javascript(
            """$('span:contains("# Temp")').closest('.cell').remove();"""))
        self.output_widget.clear_output()
项目:snowballing    作者:JoaoFelipe    | 项目源码 | 文件源码
def display(self, *args):
        """Display interactive graph"""
        if self._display_stack:
            if not self.delayed:
                self._display_stack -= 1
            if self._display_stack:
                # Skip display if other widgets will invoke display soon
                return False
        self.output_widget.clear_output()
        with self.output_widget:
            work_list, references = self.graph()
            display(self._svg_name)
            svg = SVG(self._svg_name)
            svg._data = svg._data[:4] + ' class="refgraph"' + svg._data[4:]
            display(svg)

            interaction = """
                $(".hoverable polyline, .hoverable line").mouseenter(
                    function(e) {
                        //e.stopPropagation();
                        $(this).css("stroke", "blue");
                        $(this).css("stroke-width", "3px");
                    }).mouseleave(
                    function() {
                        $(this).css("stroke", "black");
                        $(this).css("stroke-width", "inherit");
                    });
            """
            display(Javascript(interaction))
            display(HTML("""
                <script type="text/javascript">
                    %s

                    require(["./svg-pan-zoom"], function(svgPanZoom) {
                        svgPanZoom('.refgraph', {'minZoom': 0.1});
                    });
                </script>
            """ % (
                open(
                    Path(__file__) / ".." / ".." /
                    "resources" / "svg-pan-zoom.min.js"
                ).read(),
            )))

        return True
项目:pybel-tools    作者:pybel    | 项目源码 | 文件源码
def to_jupyter_str(graph, width=DEFAULT_WIDTH, height=DEFAULT_HEIGHT, color_map=None, replace_cnames=False):
    """Returns the string to be javascript-ified by the Jupyter notebook function :class:`IPython.display.Javascript`

    :param pybel.BELGraph graph: A BEL graph
    :param int width: The width of the visualization window to render
    :param int height: The height of the visualization window to render
    :param dict color_map: A dictionary from PyBEL internal node functions to CSS color strings like #FFEE00. Defaults
                    to :data:`default_color_map`
    :return: The javascript string to turn into magic
    :rtype: str
    """
    add_canonical_names(graph, replace=replace_cnames)
    gjson = to_jsons(graph)

    d3_code = render_template('pybel_vis.js')
    chart_id = generate_id()

    color_map = default_color_map if color_map is None else color_map

    javascript_vars = """
        var chart = "{}";
        var width = {};
        var height = {};
        var graph = {};
        const color_map = {};
    """.format(chart_id, width, height, gjson, color_map)

    require_code = """
        require.config({
          paths: {
              d3: '//cdnjs.cloudflare.com/ajax/libs/d3/4.5.0/d3.min'
          }
        });

        var elementInnerHTML = "<div id='" + chart + "'></div>";

        element.append(elementInnerHTML);

        var chartQualified = "#" + chart;

        require(['d3'], function(d3) {
            return init_d3_force(d3, graph, chartQualified, width, height, color_map);
        });
    """

    result = d3_code + javascript_vars + require_code

    return result