浏览代码

Merge pull request #11802 from mhilbrunner/docstatus-todo-filter

doc_status.py: Add -t (--todo) option, show only non-empty items
Julian Murgia 8 年之前
父节点
当前提交
f4ddbc024c
共有 1 个文件被更改,包括 15 次插入0 次删除
  1. 15 0
      doc/tools/doc_status.py

+ 15 - 0
doc/tools/doc_status.py

@@ -23,6 +23,7 @@ flags = {
     'o': True,
     'i': False,
     'a': True,
+    'e': False,
 }
 flag_descriptions = {
     'c': 'Toggle colors when outputting.',
@@ -35,6 +36,7 @@ flag_descriptions = {
     'o': 'Toggle overall column.',
     'i': 'Toggle collapse of class items columns.',
     'a': 'Toggle showing all items.',
+    'e': 'Toggle hiding empty items.',
 }
 long_flags = {
     'colors': 'c',
@@ -64,6 +66,8 @@ long_flags = {
     'collapse': 'i',
 
     'all': 'a',
+
+    'empty': 'e',
 }
 table_columns = ['name', 'brief_description', 'description', 'methods', 'constants', 'members', 'signals']
 table_column_names = ['Name', 'Brief Desc.', 'Desc.', 'Methods', 'Constants', 'Members', 'Signals']
@@ -192,6 +196,14 @@ class ClassStatus:
             ok = ok and self.progresses[k].is_ok()
         return ok
 
+    def is_empty(self):
+        sum = 0
+        for k in self.progresses:
+            if self.progresses[k].is_ok():
+                continue
+            sum += self.progresses[k].total
+        return sum < 1
+
     def make_output(self):
         output = {}
         output['name'] = color('name', self.name)
@@ -396,6 +408,9 @@ for cn in filtered_classes:
     if (flags['b'] and status.is_ok()) or (flags['g'] and not status.is_ok()) or (not flags['a']):
         continue
 
+    if flags['e'] and status.is_empty():
+        continue
+
     out = status.make_output()
     row = []
     for column in table_columns: