1 {#- Generate an extension module header file of doc strings #}
2 
3 {%- set classmembers = ['attribute', 'method', 'staticmethod', 'classmethod'] %}
4 
5 {%- macro cmacro(item) %}
6 {%-   if item['desctype'] in classmembers %}
7 {%-     set start_at = -2 %}
8 {%-   else %}
9 {%-     set start_at = 0 %}
10 {%-   endif %}
11 {%-   set name = item['fullname'] %}
12 {{-   'DOC_' + name.split('.')[start_at:]|join('')|replace('_', '')|upper }}
13 {%- endmacro %}
14 
15 {%- macro join_sigs(item) %}
16 {%-   set sigs = item['signatures'] %}
17 {%-   if sigs %}
18 {{-     sigs|join('\\n') + '\\n' }}
19 {%-   else %}
20 {{-     '' }}
21 {%-   endif %}
22 {%- endmacro %}
23 
24 {#- -#}
25 
26 
27 /* Auto generated file: with makeref.py .  Docs go in docs/reST/ref/ . */
28 {% for item in hdr_items -%}
29 #define {{ cmacro(item) }} "{{ join_sigs(item) }}{{ item['summary'] }}"
30 {% endfor %}
31 
32 /* Docs in a comment... slightly easier to read. */
33 
34 /*
35 
36 {%  for item in hdr_items -%}
37 {{    item['fullname'] }}
38 {%    set sigs = item['signatures'] -%}
39 {%    if sigs -%}
40 {{      ' ' + sigs|join('\n ') }}
41 {%    endif -%}
42 {{    item['summary'] }}
43 
44 {%  endfor -%}
45 */
46