]> https://gitweb.dealii.org/ - dealii.git/commitdiff
update python tools scripts
authorTimo Heister <timo.heister@gmail.com>
Mon, 13 May 2019 18:01:47 +0000 (12:01 -0600)
committerTimo Heister <timo.heister@gmail.com>
Wed, 12 Jun 2019 09:26:37 +0000 (11:26 +0200)
- also check for empty lines in html tables
- improve one of the error messages

contrib/utilities/checkdoxygen.py
contrib/utilities/wrapcomments.py

index 22aea1564443e7ca77dd016fce73ce878d198968..8c76d3d9db24afb10d3ac43ce097dfb89b2e2f11 100755 (executable)
@@ -1,12 +1,55 @@
 #!/usr/bin/python
 
-# run this script on all headers of deal.II to check that
-# all doxygen groups have matching @{ @} pairs.
+# run this script on all headers of deal.II to check various doxygen related problems
+
 # for example:
-# find include -name "*h" -print | xargs -n 1 ../tests/scripts/checkdoxygen.py
+# find doc examples include -name "*.h" -o -name "*.dox" -print | xargs -n 1 contrib/utilities/checkdoxygen.py
+
 
 import sys
 
+# have matching @{ @} pairs? (doxygen groups)
+def check_doxygen_groups(lines):
+    count = 0
+    lineno = 1
+    for l in lines:
+        if "@{" in l:
+            count = count + 1
+        elif "@}" in l:
+            count = count -1
+        if count < 0:
+            sys.exit("Error in file '%s' in line %d"%(args[0],lineno))
+        lineno = lineno + 1
+
+    if (count != 0):
+        sys.exit("Error: missing closing braces in file '%s'"%(args[0]))
+
+    return
+
+# have empty lines in html tables?
+def check_empty_lines_in_tables(lines):
+    count = 0
+    lineno = 1
+    for l in lines:
+        if "<table" in l:
+            count = count + 1
+        elif "</table>" in l:
+            count = count -1
+        if count < 0:
+            sys.exit("Error in file '%s' in line %d"%(args[0],lineno))
+
+        if count==1:
+            if l.strip()=="":
+                sys.exit("Error: empty line inside html table in file '%s' in line %d"%(args[0],lineno))
+
+        lineno = lineno + 1
+
+    if (count != 0):
+        sys.exit("Error: mismatched html table tags in file '%s'"%(args[0]))
+
+    return
+
+
 args=sys.argv
 args.pop(0)
 
@@ -14,17 +57,7 @@ f = open(args[0])
 lines = f.readlines()
 f.close()
 
+check_doxygen_groups(lines)
+check_empty_lines_in_tables(lines)
+
 
-count = 0
-lineno = 1
-for l in lines:
-    if "@{" in l:
-            count = count + 1
-    elif "@}" in l:
-             count = count -1
-             if (count < 0):
-                 sys.exit("Error in file '%s' in line %d"%(args[0],lineno))
-    lineno = lineno + 1
-
-if (count != 0):
-    sys.exit("Error: missing closing braces in file '%s'"%(args[0]))
index a174d9266d413c933f10fd29f7a6ec2bd54c955a..8909e7a83db4e0e64208667f8e6a04debe7380dd 100755 (executable)
@@ -164,7 +164,7 @@ def format_block(lines, infostr=""):
             thisline = remove_junk([lines[idx]])[0]
             
             if not thisline.split(" ")[0] in ops_title_line:
-                print ("%s warning title not at start of line"%(infostr), file=sys.stderr)
+                print ("%s warning: @page/@name not at start of line"%(infostr), file=sys.stderr)
             out.append(start + thisline.strip())
 
         elif "@ref" in lines[idx]:

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.