我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用toolz.identity()。
def apply_async(f, args=(), kwargs=None, callback=None): """Apply a function but emulate the API of an asynchronous call. Parameters ---------- f : callable The function to call. args : tuple, optional The positional arguments. kwargs : dict, optional The keyword arguments. Returns ------- future : ApplyAsyncResult The result of calling the function boxed in a future-like api. Notes ----- This calls the function eagerly but wraps it so that ``SequentialPool`` can be used where a :class:`multiprocessing.Pool` or :class:`gevent.pool.Pool` would be used. """ try: value = (identity if callback is None else callback)( f(*args, **kwargs or {}), ) successful = True except Exception as e: value = e successful = False return ApplyAsyncResult(value, successful)
def setNode(self, node: Node, items: List[Node]): self.node = node self.clear() self.nodes_to_items.clear() for ii, item in enumerate(filter(tz.identity, items)): # filter null items -- TODO: find better place for filter self.insertCallListItem(ii, item) # NOTE: previously `setNode` involved submitting a job to an Executor # and appending the future to self.populate_futures. Currently # self.populate_futures is always empty.
def format_results(terminal_width, key_list, separator, text_list, left_align=True, min_factor=3, **kwargs): """Returns formatted results in two columns. """ key_width = max(map(len, key_list)) separator_length = len(separator) desc_wrap = toolz.identity if terminal_width: if key_width / terminal_width > .5: key_width = terminal_width // 2 - 3 text_width = terminal_width - key_width - separator_length if text_width * min_factor > terminal_width: desc_wrap = toolz.compose( ('\n' + ' ' * (key_width + separator_length)).join, toolz.partial(textwrap.wrap, width=text_width, **kwargs), ) if left_align: fmt = '%-*s%s%s' else: fmt = '%*s%s%s' for key, text in zip(key_list, text_list): text = desc_wrap(text) if len(key) > key_width: yield fmt % (key_width, key, separator, '') yield fmt % (key_width, '', ' ' * separator_length, text) else: yield fmt % (key_width, key, separator, text)
def __init__(self, blobstores, repos, default_repo, run_info_fn=None, use_cache=True, check_mutations=False): self.blobstores = blobstores self.repos = repos self.set_default_repo(default_repo) self._run_info = None self.run_info_fn = run_info_fn or t.identity self.use_cache = use_cache self.check_mutations = check_mutations
def set_run_info_fn(self, fn): self.run_info_fn = fn or t.identity self._run_info = None