aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py
diff options
context:
space:
mode:
authorarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-05-12 12:25:10 +0300
committerarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-05-12 12:25:10 +0300
commit242ed6b08b9edde490fb7a16a6063e0bad8ccc88 (patch)
tree905ee9509e06949fb489ee0532ce5db7d2ea9c29 /contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py
parent64d1f1262fd0f33992ff184fef10d806d64f74da (diff)
downloadydb-242ed6b08b9edde490fb7a16a6063e0bad8ccc88.tar.gz
intermediate changes
ref:0fbe94d885cb5449f7ff351c063c77f8b4f47715
Diffstat (limited to 'contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py')
-rw-r--r--contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py58
1 files changed, 29 insertions, 29 deletions
diff --git a/contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py b/contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py
index ce22e4a674..92c2d64d67 100644
--- a/contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py
+++ b/contrib/python/traitlets/py3/traitlets/config/sphinxdoc.py
@@ -32,11 +32,11 @@ The generated rST syntax looks like this::
Cross reference like this: :configtrait:`Application.log_datefmt`.
"""
-from traitlets import Undefined
-from traitlets.utils.text import indent
from collections import defaultdict
+from textwrap import dedent
-from textwrap import indent as _indent, dedent
+from traitlets import Undefined
+from traitlets.utils.text import indent
def setup(app):
@@ -45,10 +45,11 @@ def setup(app):
You shouldn't need to call this directly; configure Sphinx to use this
module instead.
"""
- app.add_object_type('configtrait', 'configtrait', objname='Config option')
- metadata = {'parallel_read_safe': True, 'parallel_write_safe': True}
+ app.add_object_type("configtrait", "configtrait", objname="Config option")
+ metadata = {"parallel_read_safe": True, "parallel_write_safe": True}
return metadata
+
def interesting_default_value(dv):
if (dv is None) or (dv is Undefined):
return False
@@ -56,12 +57,14 @@ def interesting_default_value(dv):
return bool(dv)
return True
+
def format_aliases(aliases):
fmted = []
for a in aliases:
- dashes = '-' if len(a) == 1 else '--'
- fmted.append('``%s%s``' % (dashes, a))
- return ', '.join(fmted)
+ dashes = "-" if len(a) == 1 else "--"
+ fmted.append(f"``{dashes}{a}``")
+ return ", ".join(fmted)
+
def class_config_rst_doc(cls, trait_aliases):
"""Generate rST documentation for this class' config options.
@@ -70,23 +73,19 @@ def class_config_rst_doc(cls, trait_aliases):
"""
lines = []
classname = cls.__name__
- for k, trait in sorted(cls.class_traits(config=True).items()):
+ for _, trait in sorted(cls.class_traits(config=True).items()):
ttype = trait.__class__.__name__
- fullname = classname + '.' + trait.name
- lines += ['.. configtrait:: ' + fullname,
- ''
- ]
+ fullname = classname + "." + trait.name
+ lines += [".. configtrait:: " + fullname, ""]
help = trait.help.rstrip() or "No description"
lines.append(indent(dedent(help)) + "\n")
# Choices or type
- if 'Enum' in ttype:
+ if "Enum" in ttype:
# include Enum choices
- lines.append(
- indent(":options: " + ", ".join("``%r``" % x for x in trait.values))
- )
+ lines.append(indent(":options: " + ", ".join("``%r``" % x for x in trait.values)))
else:
lines.append(indent(":trait type: " + ttype))
@@ -99,7 +98,7 @@ def class_config_rst_doc(cls, trait_aliases):
dvr = None # ignore defaults we can't construct
if dvr is not None:
if len(dvr) > 64:
- dvr = dvr[:61] + '...'
+ dvr = dvr[:61] + "..."
# Double up backslashes, so they get to the rendered docs
dvr = dvr.replace("\\n", "\\\\n")
lines.append(indent(":default: ``%s``" % dvr))
@@ -110,13 +109,13 @@ def class_config_rst_doc(cls, trait_aliases):
lines.append(indent(":CLI option: " + fmt_aliases))
# Blank line
- lines.append('')
+ lines.append("")
+
+ return "\n".join(lines)
- return '\n'.join(lines)
def reverse_aliases(app):
- """Produce a mapping of trait names to lists of command line aliases.
- """
+ """Produce a mapping of trait names to lists of command line aliases."""
res = defaultdict(list)
for alias, trait in app.aliases.items():
res[trait].append(alias)
@@ -130,10 +129,11 @@ def reverse_aliases(app):
if len(cls_cfg) == 1:
traitname = list(cls_cfg)[0]
if cls_cfg[traitname] is True:
- res[classname+'.'+traitname].append(flag)
+ res[classname + "." + traitname].append(flag)
return res
+
def write_doc(path, title, app, preamble=None):
"""Write a rst file documenting config options for a traitlets application.
@@ -149,13 +149,13 @@ def write_doc(path, title, app, preamble=None):
Extra text to add just after the title (optional)
"""
trait_aliases = reverse_aliases(app)
- with open(path, 'w') as f:
- f.write(title + '\n')
- f.write(('=' * len(title)) + '\n')
- f.write('\n')
+ with open(path, "w") as f:
+ f.write(title + "\n")
+ f.write(("=" * len(title)) + "\n")
+ f.write("\n")
if preamble is not None:
- f.write(preamble + '\n\n')
+ f.write(preamble + "\n\n")
for c in app._classes_inc_parents():
f.write(class_config_rst_doc(c, trait_aliases))
- f.write('\n')
+ f.write("\n")