예제 #1
0
def extensions_urlpatterns():
    urlpatterns = []

    for url_module in get_extensions_modules('urls'):
        urlpatterns += getattr(url_module, 'urlpatterns', [])

    return urlpatterns
예제 #2
0
def extensions_urlpatterns():

    urlpatterns = []

    for url_module in get_extensions_modules("urls"):
        urlpatterns += getattr(url_module, "urlpatterns", [])

    return urlpatterns
예제 #3
0
def extensions_urlpatterns():

    urlpatterns = []

    for url_module in get_extensions_modules('urls'):
        urlpatterns += getattr(url_module, 'urlpatterns', [])

    return urlpatterns
예제 #4
0
    # WebSockets
    route_class(
        consumers.WaitPage,
        path=r'^/wait_page/(?P<params>[\w,]+)/$'),
    route_class(
        consumers.GroupByArrivalTime,
        path=r'^/group_by_arrival_time/(?P<params>[\w,\.]+)/$'),
    route_class(
        consumers.AutoAdvance,
        path=r'^/auto_advance/(?P<params>[\w,]+)/$'),
    route_class(consumers.WaitForSession,
          path=r'^/wait_for_session/(?P<pre_create_id>\w+)/$'),
    route_class(
          consumers.RoomParticipant,
          path=r'^/wait_for_session_in_room/(?P<params>[\w,]+)/$'),
    route_class(
          consumers.RoomAdmin,
          path=r'^/room_without_session/(?P<room>\w+)/$'),
    route_class(
          consumers.BrowserBotsLauncher,
          path=r'^/browser_bots_client/(?P<session_code>\w+)/$'),
    route_class(
          consumers.BrowserBot,
          path=r'^/browser_bot_wait/$'),


]

for extensions_module in get_extensions_modules('routing'):
    channel_routing += getattr(extensions_module, 'channel_routing', [])
예제 #5
0
from channels.routing import route, route_class

from otree.channels import consumers
from otree.extensions import get_extensions_modules

channel_routing = [
    route('otree.create_session', consumers.create_session),

    # WebSockets
    route_class(consumers.WaitPage, path=r'^/wait_page/(?P<params>[\w,]+)/$'),
    route_class(consumers.GroupByArrivalTime,
                path=r'^/group_by_arrival_time/(?P<params>[\w,\.]+)/$'),
    route_class(consumers.AutoAdvance,
                path=r'^/auto_advance/(?P<params>[\w,]+)/$'),
    route_class(consumers.WaitForSession,
                path=r'^/wait_for_session/(?P<pre_create_id>\w+)/$'),
    route_class(consumers.RoomParticipant,
                path=r'^/wait_for_session_in_room/(?P<params>[\w,]+)/$'),
    route_class(consumers.RoomAdmin,
                path=r'^/room_without_session/(?P<room>\w+)/$'),
    route_class(consumers.BrowserBotsLauncher,
                path=r'^/browser_bots_client/(?P<session_code>\w+)/$'),
    route_class(consumers.BrowserBot, path=r'^/browser_bot_wait/$'),
]

# TODO: perf issue. this takes 0.1-0.5 seconds.
for extensions_module in get_extensions_modules('routing'):
    channel_routing += getattr(extensions_module, 'channel_routing', [])
예제 #6
0
    url(r'^wait_for_session_in_room/$', consumers.RoomParticipant),
    url(r'^room_without_session/(?P<room>\w+)/$', consumers.RoomAdmin),
    url(r'^session_monitor/(?P<code>\w+)/$', consumers.SessionMonitor),
    url(r'^browser_bots_client/(?P<session_code>\w+)/$', consumers.BrowserBotsLauncher),
    url(r'^browser_bot_wait/$', consumers.BrowserBot),
    url(
        # so it doesn't clash with addon
        r"^live/$",
        consumers.LiveConsumer,
    ),
    url(
        # so it doesn't clash with addon
        r"^otreechat_core/(?P<params>[a-zA-Z0-9_/-]+)/$",
        consumers.ChatConsumer,
    ),
    url(r"^export/$", consumers.ExportData),
    # for django autoreloader
    # just so client can detect when server has finished restarting
    url(r'^no_op/$', consumers.NoOp),
]


extensions_modules = get_extensions_modules('routing')
for extensions_module in extensions_modules:
    websocket_routes += getattr(extensions_module, 'websocket_routes', [])


application = ProtocolTypeRouter(
    {"websocket": AuthMiddlewareStack(URLRouter(websocket_routes))}
)