Mercurial > hg
view mercurial/thirdparty/attr/converters.py @ 39783:76f92d208f7a
filelog: record what's using attributes
filelog and the file storage interface have some attributes that
ideally shouldn't be there. This commit annotates some of those
attributes with their users so we know where to look when it comes
time to removing them.
This exercise exposed a theme: many attributes are used by LFS,
repo upgrade, verify, and special repo types (like bundlerepo). That
points to missing abstractions on file storage to facilitate these
special needs.
Differential Revision: https://phab.mercurial-scm.org/D4661
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 18 Sep 2018 18:56:02 -0700 |
parents | 765eb17a7eb8 |
children | e1c586b9a43c |
line wrap: on
line source
""" Commonly useful converters. """ from __future__ import absolute_import, division, print_function def optional(converter): """ A converter that allows an attribute to be optional. An optional attribute is one which can be set to ``None``. :param callable converter: the converter that is used for non-``None`` values. .. versionadded:: 17.1.0 """ def optional_converter(val): if val is None: return None return converter(val) return optional_converter