Revision 12637df5 autotools/docpp
b/autotools/docpp | ||
---|---|---|
30 | 30 |
from ganeti.build import sphinx_ext |
31 | 31 |
|
32 | 32 |
|
33 |
_QUERY_FIELDS_RE = re.compile(r"^@QUERY_FIELDS_(?P<kind>[A-Z]+)@$") |
|
33 |
_DOC_RE = re.compile(r"^@(?P<class>[A-Z_]+)_(?P<kind>[A-Z]+)@$") |
|
34 |
|
|
35 |
_DOC_CLASSES_DATA = { |
|
36 |
"QUERY_FIELDS": (query.ALL_FIELDS, sphinx_ext.BuildQueryFields), |
|
37 |
} |
|
34 | 38 |
|
35 | 39 |
|
36 | 40 |
def main(): |
37 | 41 |
for line in fileinput.input(): |
38 |
m = _QUERY_FIELDS_RE.match(line)
|
|
42 |
m = _DOC_RE.match(line)
|
|
39 | 43 |
if m: |
40 |
fields = query.ALL_FIELDS[m.group("kind").lower()] |
|
41 |
for i in sphinx_ext.BuildQueryFields(fields): |
|
44 |
fields_dict, builder = _DOC_CLASSES_DATA[m.group("class")] |
|
45 |
fields = fields_dict[m.group("kind").lower()] |
|
46 |
for i in builder(fields): |
|
42 | 47 |
print i |
43 | 48 |
else: |
44 | 49 |
print line, |
Also available in: Unified diff