def make_envvars(): env = Env() vars = sorted(DEFAULT_DOCS.keys()) s = ('.. list-table::\n' ' :header-rows: 0\n\n') table = [] ncol = 3 row = ' {0} - :ref:`${1} <{2}>`' for i, var in enumerate(vars): star = '*' if i%ncol == 0 else ' ' table.append(row.format(star, var, var.lower())) table.extend([' -']*((ncol - len(vars)%ncol)%ncol)) s += '\n'.join(table) + '\n\n' s += ('Listing\n' '-------\n\n') sec = ('.. _{low}:\n\n' '{title}\n' '{under}\n' '{docstr}\n\n' '**configurable:** {configurable}\n\n' '**default:** {default}\n\n' '-------\n\n') for var in vars: title = '$' + var under = '.' * len(title) vd = env.get_docs(var) s += sec.format(low=var.lower(), title=title, under=under, docstr=vd.docstr, configurable=vd.configurable, default=vd.default) s = s[:-9] fname = os.path.join(os.path.dirname(__file__), 'envvarsbody') with open(fname, 'w') as f: f.write(s)
def _gather_groups(cls, env: Env, _seen=None): if _seen is None: _seen = set() env_vars = list(cls.get_settings()) env_vars.sort(key=lambda x: getattr(x[0], "pattern", x[0])) ordered_vars = OrderedDict() # within that section sort keys for key, var in env_vars: var = getattr(key, "pattern", key) title = "$" + var vd = env.get_docs(key) info = dict( title=title, docstr=vd.doc, configurable=vd.is_configurable, default=vd.doc_default, store_as_str=vd.can_store_as_str, ) ordered_vars[key] = VarDoc(var, info) vargrp = EnvVarGroup(ordered_vars, {}) for sub in cls.__subclasses__(): if sub not in _seen: _seen.add(sub) vargrp.children[sub] = _gather_groups(sub, env, _seen) return vargrp
def make_envvars(): env = Env() vars = sorted(DEFAULT_DOCS.keys()) s = ('.. list-table::\n' ' :header-rows: 0\n\n') table = [] ncol = 3 row = ' {0} - :ref:`${1} <{2}>`' for i, var in enumerate(vars): star = '*' if i % ncol == 0 else ' ' table.append(row.format(star, var, var.lower())) table.extend([' -'] * ((ncol - len(vars) % ncol) % ncol)) s += '\n'.join(table) + '\n\n' s += ('Listing\n' '-------\n\n') sec = ('.. _{low}:\n\n' '{title}\n' '{under}\n' '{docstr}\n\n' '**configurable:** {configurable}\n\n' '**default:** {default}\n\n' '-------\n\n') for var in vars: title = '$' + var under = '.' * len(title) vd = env.get_docs(var) s += sec.format(low=var.lower(), title=title, under=under, docstr=vd.docstr, configurable=vd.configurable, default=vd.default) s = s[:-9] fname = os.path.join(os.path.dirname(__file__), 'envvarsbody') with open(fname, 'w') as f: f.write(s)
def make_envvars(): env = Env() vars = sorted(DEFAULT_VARS.keys(), key=lambda x: getattr(x, "pattern", x)) s = ".. list-table::\n" " :header-rows: 0\n\n" table = [] ncol = 3 row = " {0} - :ref:`${1} <{2}>`" for i, varname in enumerate(vars): var = getattr(varname, "pattern", varname) star = "*" if i % ncol == 0 else " " table.append(row.format(star, var, var.lower())) table.extend([" -"] * ((ncol - len(vars) % ncol) % ncol)) s += "\n".join(table) + "\n\n" s += "Listing\n" "-------\n\n" sec = ( ".. _{low}:\n\n" "{title}\n" "{under}\n" "{docstr}\n\n" "**configurable:** {configurable}\n\n" "**default:** {default}\n\n" "**store_as_str:** {store_as_str}\n\n" "-------\n\n" ) for varname in vars: var = getattr(varname, "pattern", varname) title = "$" + var under = "." * len(title) vd = env.get_docs(varname) s += sec.format( low=var.lower(), title=title, under=under, docstr=vd.doc, configurable=vd.doc_configurable, default=vd.doc_default, store_as_str=vd.doc_store_as_str, ) s = s[:-9] fname = os.path.join(os.path.dirname(__file__), "envvarsbody") with open(fname, "w", encoding="utf-8") as f: f.write(s)