예제 #1
0
def test_filters():
    template = get_template("bytes.html.j2")
    assert format_bytes in FILTERS.values()
    assert format_bytes(2e9) in template.render(foo=2e9)

    template = get_template("custom_filter.html.j2")
    assert "baz" in template.render(foo=None)
예제 #2
0
def test_unknown_template():
    with pytest.raises(jinja2.TemplateNotFound) as e:
        get_template("does_not_exist.html.j2")

        # The error should contain all the registered template directories to help the user
        # understand where jinja2 is looking. Including the one we registered in the fixture.
        assert os.path.dirname(os.path.abspath(__file__)) in str(e)
예제 #3
0
    def _repr_html_(self, layer_index="", highlevelgraph_key=""):
        if highlevelgraph_key != "":
            shortname = key_split(highlevelgraph_key)
        elif hasattr(self, "name"):
            shortname = key_split(self.name)
        else:
            shortname = self.__class__.__name__

        svg_repr = ""
        if (self.collection_annotations
                and self.collection_annotations.get("type")
                == "dask.array.core.Array"):
            chunks = self.collection_annotations.get("chunks")
            if chunks:
                from dask.array.svg import svg

                svg_repr = svg(chunks)

        return get_template("highlevelgraph_layer.html.j2").render(
            materialized=self.is_materialized(),
            shortname=shortname,
            layer_index=layer_index,
            highlevelgraph_key=highlevelgraph_key,
            info=self.layer_info_dict(),
            svg_repr=svg_repr,
        )
예제 #4
0
 def _repr_html_(self):
     return get_template("highlevelgraph.html.j2").render(
         type=type(self).__name__,
         layers=self.layers,
         toposort=self._toposort_layers(),
         n_outputs=len(self.get_all_external_keys()),
     )
예제 #5
0
 def _repr_html_(self, cluster_status=None):
     cluster_status = get_template("local_cluster.html.j2").render(
         status=self.status.name,
         processes=self.processes,
         cluster_status=cluster_status,
     )
     return super()._repr_html_(cluster_status=cluster_status)
예제 #6
0
def get_snippet(name: str) -> str:
    """Get a code snippet for connecting to a cluster.

    Parameters
    ----------
    name
        Name of cluster to get a snippet for.

    Returns
    -------
    str
        Code snippet.

    Examples
    --------
    >>> from dask.distributed import LocalCluster  # doctest: +SKIP
    >>> cluster = LocalCluster(scheduler_port=8786)  # doctest: +SKIP
    >>> get_snippet("proxycluster-8786")  # doctest: +SKIP
    from dask.distributed import Client
    from dask_ctl.proxy import ProxyCluster

    cluster = ProxyCluster.from_name("proxycluster-8786")
    client = Client(cluster)

    """

    cluster = get_cluster(name)
    try:
        return cluster.get_snippet()
    except AttributeError:
        *module, cm = typename(type(cluster)).split(".")
        module = ".".join(module)
        return get_template("snippet.py.j2").render(
            module=module, cm=cm, name=name, cluster=cluster
        )
예제 #7
0
    def _repr_html_(self, cluster_status=None):

        try:
            scheduler_info_repr = self.scheduler_info._repr_html_()
        except AttributeError:
            scheduler_info_repr = "Scheduler not started yet."

        return get_template("cluster.html.j2").render(
            type=type(self).__name__,
            name=self.name,
            workers=self.scheduler_info["workers"],
            dashboard_link=self.dashboard_link,
            scheduler_info_repr=scheduler_info_repr,
            cluster_status=cluster_status,
        )
예제 #8
0
 def _repr_html_(self):
     return get_template("process_interface.html.j2").render(
         process_interface=self)
예제 #9
0
 def _repr_html_(self):
     return get_template("logs.html.j2").render(logs=self)
예제 #10
0
 def _repr_html_(self):
     return get_template("security.html.j2").render(security=self._attr_to_dict())
예제 #11
0
 def _repr_html_(self):
     return get_template("who_has.html.j2").render(who_has=self)
예제 #12
0
 def _repr_html_(self):
     return get_template("has_what.html.j2").render(has_what=self)
예제 #13
0
def test_widgets():
    template = get_template("example.html.j2")
    assert isinstance(template, jinja2.Template)
    rendered = template.render(foo="bar")
    assert "Hello bar" in rendered