def test_util_error_cases(settings): 'Test handling of missing settings' settings.PLOTLY_DASH = None from django_plotly_dash.util import pipe_ws_endpoint_name, dpd_http_endpoint_root, http_endpoint, insert_demo_migrations assert pipe_ws_endpoint_name() == 'dpd/ws/channel' assert dpd_http_endpoint_root() == "dpd/views" assert http_endpoint("fred") == '^dpd/views/fred/$' assert not insert_demo_migrations() del settings.PLOTLY_DASH assert pipe_ws_endpoint_name() == 'dpd/ws/channel' assert dpd_http_endpoint_root() == "dpd/views" assert http_endpoint("fred") == '^dpd/views/fred/$' assert not insert_demo_migrations()
def test_demo_routing(): 'Test configuration options for the demo' from django_plotly_dash.util import pipe_ws_endpoint_name, insert_demo_migrations assert pipe_ws_endpoint_name() == 'ws/channel' assert insert_demo_migrations()
from channels.routing import ProtocolTypeRouter, URLRouter from channels.auth import AuthMiddlewareStack from channels.http import AsgiHandler from django.conf.urls import url from django_plotly_dash.consumers import MessageConsumer, PokePipeConsumer from django_plotly_dash.util import pipe_ws_endpoint_name, http_endpoint, http_poke_endpoint_enabled http_routes = [] if http_poke_endpoint_enabled(): http_routes.append(url(http_endpoint("poke"), PokePipeConsumer)) http_routes.append(url("^", AsgiHandler)) application = ProtocolTypeRouter({ 'websocket': AuthMiddlewareStack( URLRouter([ url(pipe_ws_endpoint_name(), MessageConsumer), ])), 'http': AuthMiddlewareStack(URLRouter(http_routes)), })
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ''' # pylint: disable=too-many-arguments, unused-variable, unused-argument, possibly-unused-variable from django import template from django.contrib.sites.shortcuts import get_current_site from django_plotly_dash.models import DashApp from django_plotly_dash.util import pipe_ws_endpoint_name, store_initial_arguments register = template.Library() ws_default_url = "/%s" % pipe_ws_endpoint_name() def _locate_daapp(name, slug, da, cache_id=None): app = None if name is not None: da, app = DashApp.locate_item(name, stateless=True, cache_id=cache_id) if slug is not None: da, app = DashApp.locate_item(slug, stateless=False, cache_id=cache_id) if not app: app = da.as_dash_instance()