Exemple #1
0
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)
Exemple #2
0
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
Exemple #3
0
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)
Exemple #4
0
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)