def _serialize_frames(filename,
                      function,
                      pre_context,
                      post_context,
                      context_line,
                      variables,
                      lineno,
                      pre_context_lineno,
                      is_opened=False,
                      **opts):

    if filename:
        description = wl.Row([
            wl.Button(
                wl.Style(filename,
                         wl.RGBColor(0.25, 0.48, 1),
                         wl.Small,
                         FontFamily="Courier"),
                wl.If(wl.FileExistsQ(filename), wl.SystemOpen(filename)),
                Appearance="Frameless",
            ),
            " in ",
            function,
        ])
    else:
        description = function

    yield wl.OpenerView(
        [
            description,
            wl.Column(
                iterate(
                    (wl.Column(
                        iterate(
                            (_paginate(pre_context_lineno + i, l)
                             for i, l in enumerate(pre_context)),
                            [
                                wl.Item(
                                    _paginate(lineno, context_line),
                                    Background=wl.LightYellow,
                                )
                            ],
                            (_paginate(lineno + i + 1, l)
                             for i, l in enumerate(post_context)),
                        ),
                        Background=[[wl.GrayLevel(0.95),
                                     wl.GrayLevel(1)]],
                        Frame=wl.LightGray,
                    ), ),
                    _serialize_variables(variables),
                )),
        ],
        is_opened,
    )
def run_all(args, **opts):
    done = tuple(iterate(*args))
    if done and len(done) > 1:
        return asyncio.ensure_future(asyncio.wait(done), **opts)
    elif done:
        return asyncio.ensure_future(first(done), **opts)
    return done
def _serialize_variables(variables):

    hidden = variables.get("__traceback_hidden_variables__", ())

    if hidden is True:
        return

    if not isinstance(hidden, (tuple, list)):
        hidden = ()

    variables = tuple((safe_force_text(key), safe_force_text(value))
                      for key, value in variables.items() if not key in hidden)

    if variables:
        yield wl.OpenerView([
            "Local variables",
            wl.Grid(
                iterate((("Key", "Value"), ), variables),
                Background=[None, [wl.LightGray]],
                Alignment=wl.Left,
                Frame=wl.LightGray,
            ),
        ])
    else:
        yield "No local variables"
Esempio n. 4
0
    def chain_normalizer(self, func, encoder):

        if isinstance(encoder, WolframDispatch):
            encoder.update_dispatch()

        return composition(
            *map(safe_import_string,
                 iterate(func or (), partial(encoder.as_method(), self))))
Esempio n. 5
0
def django_request_meta(request):
    yield "Method", request.method
    yield "Scheme", request.is_secure() and "https" or "http"
    yield "Domain", request.get_host()
    yield "Port", request.get_port()
    yield "PathString", request.path
    yield "QueryString", request.META["QUERY_STRING"]
    yield "Headers", tuple(wl.Rule(k, v) for k, v in request.headers.items())
    yield "MultipartElements", tuple(
        iterate(
            (wl.Rule(k, to_multipart(v)) for k in request.POST.keys()
             for v in request.POST.getlist(k)),
            (wl.Rule(k, to_multipart(v)) for k in request.FILES.keys()
             for v in request.FILES.getlist(k)),
        ))
    def test_iterate(self):

        self.assertEqual(list(iterate(2, 3, "a", [2, 3])), [2, 3, "a", 2, 3])
Esempio n. 7
0
 def register_modules(self, **handlers):
     for module, _handlers in handlers.items():
         self.modules.add(module)
         self.registry[module].extend(iterate(_handlers))
Esempio n. 8
0
class Command(TestCommand):

    modules = ["wolframwebengine.tests"]

    dependencies = tuple(
        iterate((("django", "2.2.1"), ), TestCommand.dependencies))
Esempio n. 9
0
 async def wait_for_tasks(self, requests, clients, url):
     # Wait for all of the coroutines to finish.
     results = await asyncio.gather(
         *self.generate_tasks(requests, clients, url))
     results = tuple(iterate(*results))
     return results