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"
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))))
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])
def register_modules(self, **handlers): for module, _handlers in handlers.items(): self.modules.add(module) self.registry[module].extend(iterate(_handlers))
class Command(TestCommand): modules = ["wolframwebengine.tests"] dependencies = tuple( iterate((("django", "2.2.1"), ), TestCommand.dependencies))
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