summaryrefslogtreecommitdiff
path: root/proposals.py
diff options
context:
space:
mode:
Diffstat (limited to 'proposals.py')
-rwxr-xr-xproposals.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/proposals.py b/proposals.py
index 356ceba..0345c77 100755
--- a/proposals.py
+++ b/proposals.py
@@ -42,6 +42,11 @@ def get_template_val(tpl, name):
proposals = []
+
+def eprint(*args):
+ print(*args, file=sys.stderr)
+
+
for page in find_proposals():
page_title = page['title']
text = page['revisions'][0]['slots']['main']['content']
@@ -51,7 +56,7 @@ for page in find_proposals():
)
if not proposal_page_templates:
- print('{{Proposal Page}} not found in', page_title, file=sys.stderr)
+ eprint('{{Proposal Page}} not found in', page_title)
continue
for comment in doc.ifilter_comments():
@@ -60,14 +65,25 @@ for page in find_proposals():
tpl = proposal_page_templates[0]
- name = get_template_val(tpl, 'name')
- if name:
- name = html.unescape(name)
-
status = get_template_val(tpl, 'status')
if status:
status = status.lower()
+ archived = doc.filter_templates(
+ matches=lambda t: t.name.matches('Archived proposal')
+ )
+
+ if not doc.filter_headings() and not archived:
+ if status in ('approved', 'rejected'):
+ eprint(f'WARNING no headings found for {status} proposal', page['title'])
+ else:
+ eprint('skipping stub', page['title'])
+ continue
+
+ name = get_template_val(tpl, 'name')
+ if name:
+ name = html.unescape(name)
+
draft_start = get_template_val(tpl, 'draftStartDate')
if draft_start in ('*', '-'):
draft_start = None