]> git.saurik.com Git - wxWidgets.git/commitdiff
use svn:eol-style instead of eol:style (see #10745)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 26 Apr 2009 19:36:36 +0000 (19:36 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 26 Apr 2009 19:36:36 +0000 (19:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60398 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

misc/scripts/update_doc_baseclasses.py
misc/scripts/update_doc_libs.py
misc/scripts/update_doc_utils.py

index 857155d46cebf1906703c77aac9b6b1ddce2a677..6618a1856e52feef790ba30d28ec389bf946b293 100644 (file)
-##############################################################################\r
-# Name:       misc/scripts/update_doc_baseclasses.py\r
-# Purpose:    Warns about missing classes in the "Derived from" \r
-#             sections in the doc files\r
-# Created:    2007-07-28\r
-# RCS-ID:     $Id: makeunixtags.sh 46320 2007-06-04 11:02:29Z VZ $\r
-# Copyright:  (c) 2007 Francesco Montorsi\r
-# Licence:    wxWindows licence\r
-##############################################################################\r
-\r
-from update_doc_utils import scanTexFiles\r
-\r
-# classes whose docs cannot be fixed automatically\r
-# because of:\r
-#   1) multiple inheritance\r
-#   2) other strange things specific of these classes\r
-EXCEPTIONS=['wxNotebook','wxChoicebook','wxListbook','wxToolbook','wxTreebook','wxURLDataObject','wxHScrolledWindow','wxVScrolledWindow','wxVarHVScrollHelper','wxHVScrolledWindow','wxFileStream']\r
-\r
-def myCallback(classname, texFileName, content, i):\r
-    # now search the base classes for this class\r
-    baseclasses = []\r
-    for j in range(i,len(content)):\r
-        line = content[j]\r
-        if line.startswith("\wxheading{Derived from}"):\r
-            # take all lines contained between this \wxheading and the next one\r
-            # as base classes\r
-            for k in range(j+1,len(content)):\r
-                line = content[k]\r
-                if "\wxheading" in line:\r
-                    break\r
-                elif "\helpref" in line:\r
-                    baseclasses.append(line)\r
-            break   # we've already processed the 'derived from' section for this class\r
-\r
-    if baseclasses == []:\r
-        print " no base classes declared for class %s" % classname\r
-        return True     # keep going on with next \class tags\r
-\r
-    # polish baseclasses list\r
-    for i in range(len(baseclasses)):\r
-        s = baseclasses[i]\r
-        baseclasses[i] = s[s.find("{")+1:s.find("}")]\r
-\r
-    # store the baseclasses\r
-    tree[classname] = baseclasses\r
-    treetex[classname] = texFileName\r
-    treepos[classname] = j+1\r
-    print " class '%s' has %d base class(es): %s" % (classname, len(baseclasses), ','.join(baseclasses))\r
-\r
-    return True\r
-\r
-\r
-tree = dict()\r
-treetex = dict()\r
-treepos = dict()\r
-count = scanTexFiles(myCallback)\r
-\r
-print "\nProcessed %d files." % count\r
-print "\nNow starting to compare the base class lists.\n"\r
-\r
-def getFullListOfBaseClasses(classname):\r
-    if classname not in tree or classname=='':\r
-        return []\r
-\r
-    # only use the first base class of info taken from .tex files\r
-    # i.e. we assume that at least the first class declared as base class is always correct\r
-    baseclass = tree[classname][0]\r
-    return [baseclass] + getFullListOfBaseClasses(baseclass)\r
-\r
-# now compare the theorical list of base classes with the list of base\r
-# classes taken from the .tex files\r
-fixed=0\r
-tofix=set()\r
-for classname in tree:\r
-    theorical=getFullListOfBaseClasses(classname)\r
-    real=tree[classname]\r
-\r
-    # compare them\r
-    if real!=theorical:\r
-        print "* for class '%s' documented in '%s'" % (classname,treetex[classname])\r
-        print "  theorical list: %s" % theorical\r
-        print "  declared list:  %s" % real\r
-\r
-        if classname in EXCEPTIONS:\r
-            tofix.add(treetex[classname])\r
-            print "  cannot fix automatically (blacklisted class!)\n"\r
-            continue\r
-\r
-        # fix it!\r
-        file = open(treetex[classname], "r")\r
-        content = file.readlines()\r
-\r
-        #print "old content is:"\r
-        #print ''.join(content)\r
-\r
-        # remove old \helpref lines\r
-        startidx = treepos[classname]\r
-        count = 0\r
-        while count < len(tree[classname]):\r
-            # we want to remove n \helpref lines, where 'n' is the\r
-            # number of base classes declared\r
-            if content[startidx].startswith('\helpref'):\r
-                del content[startidx]\r
-                count = count+1\r
-            else:\r
-                startidx = startidx+1 # probably an empty line\r
-\r
-        # insert new ones\r
-        if len(theorical)>1:\r
-            for j in range(len(theorical)-1):\r
-                c = theorical[j]\r
-                content.insert(startidx+j, "\helpref{%s}{%s}\\\\\n" % (c, c.lower()))\r
-        else:\r
-            j=-1\r
-        c = theorical[j+1]\r
-        content.insert(startidx+j+1, "\helpref{%s}{%s}\n" % (c, c.lower()))\r
-\r
-        #print "new content is:"\r
-        #print ''.join(content)\r
-\r
-        # save the file\r
-        file = open(treetex[classname], "w")\r
-        file.write(''.join(content))\r
-        file.flush()\r
-\r
-        print "  fixed the .tex file\n"\r
-        fixed=fixed+1\r
-\r
-print "Total number of errors reported: %d" % fixed\r
-print "There are %d files to fix manually:\n%s" % (len(tofix), '\n'.join(tofix))\r
+##############################################################################
+# Name:       misc/scripts/update_doc_baseclasses.py
+# Purpose:    Warns about missing classes in the "Derived from" 
+#             sections in the doc files
+# Created:    2007-07-28
+# RCS-ID:     $Id: makeunixtags.sh 46320 2007-06-04 11:02:29Z VZ $
+# Copyright:  (c) 2007 Francesco Montorsi
+# Licence:    wxWindows licence
+##############################################################################
+
+from update_doc_utils import scanTexFiles
+
+# classes whose docs cannot be fixed automatically
+# because of:
+#   1) multiple inheritance
+#   2) other strange things specific of these classes
+EXCEPTIONS=['wxNotebook','wxChoicebook','wxListbook','wxToolbook','wxTreebook','wxURLDataObject','wxHScrolledWindow','wxVScrolledWindow','wxVarHVScrollHelper','wxHVScrolledWindow','wxFileStream']
+
+def myCallback(classname, texFileName, content, i):
+    # now search the base classes for this class
+    baseclasses = []
+    for j in range(i,len(content)):
+        line = content[j]
+        if line.startswith("\wxheading{Derived from}"):
+            # take all lines contained between this \wxheading and the next one
+            # as base classes
+            for k in range(j+1,len(content)):
+                line = content[k]
+                if "\wxheading" in line:
+                    break
+                elif "\helpref" in line:
+                    baseclasses.append(line)
+            break   # we've already processed the 'derived from' section for this class
+
+    if baseclasses == []:
+        print " no base classes declared for class %s" % classname
+        return True     # keep going on with next \class tags
+
+    # polish baseclasses list
+    for i in range(len(baseclasses)):
+        s = baseclasses[i]
+        baseclasses[i] = s[s.find("{")+1:s.find("}")]
+
+    # store the baseclasses
+    tree[classname] = baseclasses
+    treetex[classname] = texFileName
+    treepos[classname] = j+1
+    print " class '%s' has %d base class(es): %s" % (classname, len(baseclasses), ','.join(baseclasses))
+
+    return True
+
+
+tree = dict()
+treetex = dict()
+treepos = dict()
+count = scanTexFiles(myCallback)
+
+print "\nProcessed %d files." % count
+print "\nNow starting to compare the base class lists.\n"
+
+def getFullListOfBaseClasses(classname):
+    if classname not in tree or classname=='':
+        return []
+
+    # only use the first base class of info taken from .tex files
+    # i.e. we assume that at least the first class declared as base class is always correct
+    baseclass = tree[classname][0]
+    return [baseclass] + getFullListOfBaseClasses(baseclass)
+
+# now compare the theorical list of base classes with the list of base
+# classes taken from the .tex files
+fixed=0
+tofix=set()
+for classname in tree:
+    theorical=getFullListOfBaseClasses(classname)
+    real=tree[classname]
+
+    # compare them
+    if real!=theorical:
+        print "* for class '%s' documented in '%s'" % (classname,treetex[classname])
+        print "  theorical list: %s" % theorical
+        print "  declared list:  %s" % real
+
+        if classname in EXCEPTIONS:
+            tofix.add(treetex[classname])
+            print "  cannot fix automatically (blacklisted class!)\n"
+            continue
+
+        # fix it!
+        file = open(treetex[classname], "r")
+        content = file.readlines()
+
+        #print "old content is:"
+        #print ''.join(content)
+
+        # remove old \helpref lines
+        startidx = treepos[classname]
+        count = 0
+        while count < len(tree[classname]):
+            # we want to remove n \helpref lines, where 'n' is the
+            # number of base classes declared
+            if content[startidx].startswith('\helpref'):
+                del content[startidx]
+                count = count+1
+            else:
+                startidx = startidx+1 # probably an empty line
+
+        # insert new ones
+        if len(theorical)>1:
+            for j in range(len(theorical)-1):
+                c = theorical[j]
+                content.insert(startidx+j, "\helpref{%s}{%s}\\\\\n" % (c, c.lower()))
+        else:
+            j=-1
+        c = theorical[j+1]
+        content.insert(startidx+j+1, "\helpref{%s}{%s}\n" % (c, c.lower()))
+
+        #print "new content is:"
+        #print ''.join(content)
+
+        # save the file
+        file = open(treetex[classname], "w")
+        file.write(''.join(content))
+        file.flush()
+
+        print "  fixed the .tex file\n"
+        fixed=fixed+1
+
+print "Total number of errors reported: %d" % fixed
+print "There are %d files to fix manually:\n%s" % (len(tofix), '\n'.join(tofix))
index fbedee375e5c4a5f4d67bee4998c8ebe52ea33ff..0cec00f9d753d2de4e71bac9556c018bda81c990 100755 (executable)
-##############################################################################\r
-# Name:       misc/scripts/update_doc_libs.py\r
-# Purpose:    Automatically insert \Library{} headers in the doc files\r
-# Created:    2007-07-28\r
-# RCS-ID:     $Id: makeunixtags.sh 46320 2007-06-04 11:02:29Z VZ $\r
-# Copyright:  (c) 2007 Francesco Montorsi\r
-# Licence:    wxWindows licence\r
-##############################################################################\r
-\r
-from update_doc_utils import scanTexFiles\r
-\r
-INCLUDE_PATH="../../include"\r
-\r
-def myCallback(classname, texFileName, content, i):\r
-    tofix.add(texFileName)     # consider this .tex broken\r
-\r
-    # now search the include file for this class\r
-    include = ""\r
-    for j in range(i,len(content)):\r
-        line = content[j]\r
-        if "wx/" in line and ".h" in line:\r
-            include = line[line.find("wx/"):line.find(".h")+2]\r
-            break\r
-    if include == "":\r
-        print " no include file declared for class %s" % classname\r
-        return True # go on with next \class\r
-\r
-    include = include.replace("\\_", "_")\r
-    print " the include file for %s is %s" % (classname, include)\r
-\r
-    # does this .tex already contains the \wxheading{Library} section nearby the include file?\r
-    for k in range(j,min(len(content), j+3)):\r
-        line = content[k]\r
-        if "\wxheading{Library}" in line:\r
-            print " this \class section already has its \wxheading{Library} section... skipping"\r
-            tofix.remove(texFileName) # was a valid .tex (at least for current class)\r
-            return True   # go on with next \class\r
-\r
-    # now try to understand which lib contains this class\r
-    include = INCLUDE_PATH + "/" + include\r
-    header = open(include, "r")\r
-    if not header:\r
-        print " could not open %s" % include\r
-        return True # go on with next \class\r
-\r
-    decl = ""\r
-    content2 = header.readlines()\r
-\r
-    # if they exist append port-specific headers contents\r
-    for c in ["wx/gtk/", "wx/msw/", "wx/mac/", "wx/generic/"]:\r
-        try:\r
-            temp = include.replace("wx/", c)\r
-            print " trying to open %s..." % temp\r
-            header = open(temp, "r")\r
-            headercontents = header.readlines()\r
-            content2 = content2 + headercontents\r
-            print " added %d lines from %s" % (len(headercontents), temp)\r
-        except:\r
-            pass\r
-\r
-    # now search for the export-declaration associated with this class\r
-    for line in content2:\r
-        if "class " in line and classname in line:\r
-            if line.find("class") < line.find(classname):  # could be a comment\r
-                if "_" in line:\r
-                    decl = line[line.find("_")+1:]\r
-                    decl = decl[:decl.find(" ")]\r
-                    decl = decl.replace("FWD_", "")\r
-                    decl = decl[0:1].upper() + decl[1:].lower()\r
-                    break\r
-                elif " WXDLLEXPORT " in line:\r
-                    decl = "Core"\r
-                    break\r
-\r
-    if decl == "":\r
-        print " no declaration associated with %s" % classname\r
-        return True # go on with next \class\r
-\r
-    print " the declaration associated with %s is %s" % (classname, decl)\r
-    tofix.remove(texFileName) # was a valid .tex (at least for current class)\r
-\r
-    # now modify the .tex file\r
-    content.insert(j+2, "\wxheading{Library}\n\n\helpref{wx%s}{librarieslist}\n\n" % decl)\r
-\r
-    # write it\r
-    file = open(texFileName, "w")\r
-    file.write(''.join(content))\r
-    file.flush()\r
-\r
-    print " updated %s" % texFileName\r
-    fixed = fixed+1\r
-\r
-    return True\r
-\r
-fixed = 0\r
-tofix = set()\r
-count = scanTexFiles(myCallback)\r
-\r
-print "\nProcessed %d files, automatically fixed %d files." % (count, fixed)\r
-print "There are %d files to fix manually:\n%s" % (len(tofix), '\n'.join(tofix))\r
+##############################################################################
+# Name:       misc/scripts/update_doc_libs.py
+# Purpose:    Automatically insert \Library{} headers in the doc files
+# Created:    2007-07-28
+# RCS-ID:     $Id: makeunixtags.sh 46320 2007-06-04 11:02:29Z VZ $
+# Copyright:  (c) 2007 Francesco Montorsi
+# Licence:    wxWindows licence
+##############################################################################
+
+from update_doc_utils import scanTexFiles
+
+INCLUDE_PATH="../../include"
+
+def myCallback(classname, texFileName, content, i):
+    tofix.add(texFileName)     # consider this .tex broken
+
+    # now search the include file for this class
+    include = ""
+    for j in range(i,len(content)):
+        line = content[j]
+        if "wx/" in line and ".h" in line:
+            include = line[line.find("wx/"):line.find(".h")+2]
+            break
+    if include == "":
+        print " no include file declared for class %s" % classname
+        return True # go on with next \class
+
+    include = include.replace("\\_", "_")
+    print " the include file for %s is %s" % (classname, include)
+
+    # does this .tex already contains the \wxheading{Library} section nearby the include file?
+    for k in range(j,min(len(content), j+3)):
+        line = content[k]
+        if "\wxheading{Library}" in line:
+            print " this \class section already has its \wxheading{Library} section... skipping"
+            tofix.remove(texFileName) # was a valid .tex (at least for current class)
+            return True   # go on with next \class
+
+    # now try to understand which lib contains this class
+    include = INCLUDE_PATH + "/" + include
+    header = open(include, "r")
+    if not header:
+        print " could not open %s" % include
+        return True # go on with next \class
+
+    decl = ""
+    content2 = header.readlines()
+
+    # if they exist append port-specific headers contents
+    for c in ["wx/gtk/", "wx/msw/", "wx/mac/", "wx/generic/"]:
+        try:
+            temp = include.replace("wx/", c)
+            print " trying to open %s..." % temp
+            header = open(temp, "r")
+            headercontents = header.readlines()
+            content2 = content2 + headercontents
+            print " added %d lines from %s" % (len(headercontents), temp)
+        except:
+            pass
+
+    # now search for the export-declaration associated with this class
+    for line in content2:
+        if "class " in line and classname in line:
+            if line.find("class") < line.find(classname):  # could be a comment
+                if "_" in line:
+                    decl = line[line.find("_")+1:]
+                    decl = decl[:decl.find(" ")]
+                    decl = decl.replace("FWD_", "")
+                    decl = decl[0:1].upper() + decl[1:].lower()
+                    break
+                elif " WXDLLEXPORT " in line:
+                    decl = "Core"
+                    break
+
+    if decl == "":
+        print " no declaration associated with %s" % classname
+        return True # go on with next \class
+
+    print " the declaration associated with %s is %s" % (classname, decl)
+    tofix.remove(texFileName) # was a valid .tex (at least for current class)
+
+    # now modify the .tex file
+    content.insert(j+2, "\wxheading{Library}\n\n\helpref{wx%s}{librarieslist}\n\n" % decl)
+
+    # write it
+    file = open(texFileName, "w")
+    file.write(''.join(content))
+    file.flush()
+
+    print " updated %s" % texFileName
+    fixed = fixed+1
+
+    return True
+
+fixed = 0
+tofix = set()
+count = scanTexFiles(myCallback)
+
+print "\nProcessed %d files, automatically fixed %d files." % (count, fixed)
+print "There are %d files to fix manually:\n%s" % (len(tofix), '\n'.join(tofix))
index 7b8382e41a6b378d8e44c98a3b23389e3b4ba4e9..abd51b7588dd152edb3c1d772ccd072ad3fed727 100755 (executable)
@@ -1,49 +1,49 @@
-##############################################################################\r
-# Name:       misc/scripts/update_doc_utils.py\r
-# Purpose:    base utilities for others update_doc_*.py scripts\r
-# Created:    2007-08-1\r
-# RCS-ID:     $Id: makeunixtags.sh 46320 2007-06-04 11:02:29Z VZ $\r
-# Copyright:  (c) 2007 Francesco Montorsi\r
-# Licence:    wxWindows licence\r
-##############################################################################\r
-\r
-import sys, os, glob, distutils.file_util\r
-\r
-DOCS_PATH="../../docs/latex/wx"\r
-\r
-# Calls the given callback with the name of a documented class, its .tex related file,\r
-# the content of that .tex file and the number of the line of the relative \class tag,\r
-# for all documented class in DOCS_PATH. If the callback returns false the processing is stopped.\r
-# Returns the number of .tex files processed.\r
-def scanTexFiles(callback):\r
-    count = 0\r
-    for f in glob.glob(DOCS_PATH + '/*.tex'):\r
-        file = open(f, "r")\r
-        if not file:\r
-            print "could not open %s" % f\r
-            continue\r
-        print "opened file %s" % f\r
-        count = count + 1\r
-\r
-        # search \class tags\r
-        content = file.readlines()\r
-        classdecl = 0\r
-        for i in range(len(content)):\r
-            line = content[i]\r
-            if "\class{" in line:\r
-                classdecl = classdecl + 1\r
-\r
-                # polish the class name\r
-                classname = line\r
-                classname = classname[classname.find("\class{"):]\r
-                classname = classname[classname.find("{")+1:classname.find("}")]\r
-                print " the class declared is named '%s'" % classname\r
-\r
-                # process this \class\r
-                if not callback(classname, f, content, i):\r
-                    return count\r
-\r
-        print " file %s contains %d class declarations" % (f, classdecl)\r
-\r
-    return count\r
-\r
+##############################################################################
+# Name:       misc/scripts/update_doc_utils.py
+# Purpose:    base utilities for others update_doc_*.py scripts
+# Created:    2007-08-1
+# RCS-ID:     $Id: makeunixtags.sh 46320 2007-06-04 11:02:29Z VZ $
+# Copyright:  (c) 2007 Francesco Montorsi
+# Licence:    wxWindows licence
+##############################################################################
+
+import sys, os, glob, distutils.file_util
+
+DOCS_PATH="../../docs/latex/wx"
+
+# Calls the given callback with the name of a documented class, its .tex related file,
+# the content of that .tex file and the number of the line of the relative \class tag,
+# for all documented class in DOCS_PATH. If the callback returns false the processing is stopped.
+# Returns the number of .tex files processed.
+def scanTexFiles(callback):
+    count = 0
+    for f in glob.glob(DOCS_PATH + '/*.tex'):
+        file = open(f, "r")
+        if not file:
+            print "could not open %s" % f
+            continue
+        print "opened file %s" % f
+        count = count + 1
+
+        # search \class tags
+        content = file.readlines()
+        classdecl = 0
+        for i in range(len(content)):
+            line = content[i]
+            if "\class{" in line:
+                classdecl = classdecl + 1
+
+                # polish the class name
+                classname = line
+                classname = classname[classname.find("\class{"):]
+                classname = classname[classname.find("{")+1:classname.find("}")]
+                print " the class declared is named '%s'" % classname
+
+                # process this \class
+                if not callback(classname, f, content, i):
+                    return count
+
+        print " file %s contains %d class declarations" % (f, classdecl)
+
+    return count
+