Python toolz 模块,identity() 实例源码

我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用toolz.identity()

项目:catalyst    作者:enigmampc    | 项目源码 | 文件源码
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)
项目:call_map    作者:nccgroup    | 项目源码 | 文件源码
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.
项目:databrewer    作者:rmax    | 项目源码 | 文件源码
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)
项目:provenance    作者:bmabey    | 项目源码 | 文件源码
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
项目:provenance    作者:bmabey    | 项目源码 | 文件源码
def set_run_info_fn(self, fn):
        self.run_info_fn = fn or t.identity
        self._run_info = None