SVN commit 1287531 by sebas:

Plasma QML apidox script works recursively now

This script now takes a base path, walks into it and generates a 
flat list of html files, just like for the plasma components 
previously.

The script should be run from kde-runtime/plasma/declarativeimports/ like so:

qmlapigenerator.py -v "Plasma Quick master" \
        -t /home/sebas/kdesvn/src/apidox/data \
        -i /home/sebas/kdesvn/src/kde-runtime/plasma/declarativeimports/  \
        -o out/ 

CCMAIL:win...@kde.org
CCMAIL:plasma-devel@kde.org



 M  +12 -15    qmlapigenerator.py  


--- trunk/quality/apidox/src/qmlapigenerator.py #1287530:1287531
@@ -9,6 +9,7 @@
 class File:
        def __init__(self,string):
                self.qmlFile = string + ".qml"
+               self.fullPath = ""
                self.className = string
                self.properties = {}
                self.inherits = []
@@ -21,7 +22,7 @@
                self.errorLine = 0
        def createApi(self):
                print self.className
-               f = open(qmlPath + '/' + self.qmlFile, "r")
+               f = open(self.fullPath, "r")
                self.apiFlags = {"Inherits:" : False, "Imports:" : False, 
"Description:" : False, "Properties:" : False, "Signals:" : False, "Methods:": 
False}
                insideApi = False
                inherits = {}
@@ -58,9 +59,6 @@
                        self.error = True
                        self.errorLine = i
 
-
-
-
        def retrieveInherits(self,string):
                if self.apiFlags["Inherits:"] == True:
                        self.inherits.append(string)
@@ -202,8 +200,6 @@
                                contentsString += ('<li><a href="#' + 
self.signalsList()[key]["name"] + '">' + self.signalsList()[key]["name"] + 
"</a></li>")
                        contentsString += '</ul>'
 
-
-
                if len(self.propertyList()) > 0:
                        contentsString += ("<h2>Properties</h2>")
                        for key in range(len(self.propertyList())):
@@ -258,10 +254,18 @@
 templateFile.close()
 
 linksHtml = '<ul>\n'
-for fileName in sorted(os.listdir(qmlPath)):
-       if '.qml' in fileName:
+
+for root, subFolders, files in os.walk(qmlPath):
+       for fileName in files:
+               if fileName.endswith('.qml'):
+                       if (root.split('/')[-1] in ("test", "gallery", "touch", 
"private")): continue
                className = fileName.replace(".qml", "")
+                       parser = File(className)
+                       parser.fullPath = root + "/" + fileName
+                       parser.createApi()
+                       parser.writeHtml()
                linksHtml += '<li><a href="./' + className + '.html">' + 
className + '</a></li>\n'
+
 linksHtml += '</ul>\n'
 
 outFile = open(outPath + '/index.html',"w")
@@ -269,12 +273,5 @@
 outFile.write(templateString.format(*varg))
 outFile.close()
 
-for fileName in os.listdir(qmlPath):
-       if '.qml' in fileName:
-               className = fileName.replace(".qml", "")
-               parser = File(className)
-               parser.createApi()
-               parser.writeHtml()
 
 
-
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to