Changeset 4218
- Timestamp:
- 12/18/07 07:36:23 (1 year ago)
- Location:
- trunk/tools/wikiapi2xml
- Files:
-
- 2 modified
-
createjQueryXMLDocs.py (modified) (14 diffs)
-
README (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/wikiapi2xml/createjQueryXMLDocs.py
r4190 r4218 4 4 createjQueryXMLDocs.py 5 5 David Serduke 6 Version 0.1. 47 Last Modified: Dec. 1 5, 20076 Version 0.1.5 7 Last Modified: Dec. 18, 2007 8 8 9 9 Python script to convert the jQuery wiki documentation to an XML doc … … 21 21 # if data != "": 22 22 # print data 23 # raw_input(msg) ;23 # raw_input(msg) 24 24 25 25 def printdebug(msg): … … 36 36 class Callable: 37 37 def __init__(self, func): 38 self.__call__ = func ;38 self.__call__ = func 39 39 40 40 # handle passed in parameters … … 43 43 form = cgi.FieldStorage() 44 44 45 self.help = "false" ;45 self.help = "false" 46 46 self.supressContentType = "false" 47 47 self.startingUrl = "API" 48 self.exporterUrl = "http://docs.jquery.com/Special:Export"; 48 self.exporterUrl = "http://docs.jquery.com/Special:Export" 49 self.forLinksUrl = "" 49 50 self.version = "" 50 51 self.convertLinks = "html" … … 60 61 for key in keys: 61 62 if key == "help": 62 self.help = form.getvalue(key) ;63 self.help = form.getvalue(key) 63 64 elif key == "supresscontenttype": 64 self.supressContentType = form.getvalue(key) ;65 self.supressContentType = form.getvalue(key) 65 66 elif key == "start": 66 self.startingUrl = form.getvalue(key) ;67 self.startingUrl = form.getvalue(key) 67 68 elif key == "exporter": 68 self.exporterUrl = form.getvalue(key); 69 self.exporterUrl = form.getvalue(key) 70 elif key == "forlinksurl": 71 self.forLinksUrl = form.getvalue(key) 69 72 elif key == "version": 70 self.version = form.getvalue(key) ;73 self.version = form.getvalue(key) 71 74 elif key == "convertlinks": 72 75 self.convertLinks = form.getvalue(key) … … 108 111 # example "#redirect [[API/1.2/Selectors]] 109 112 if re.search(r"\#redirect", self.wiki, re.IGNORECASE): 110 printdebug("Redirected...")111 113 m = re.search(r"\#redirect \[\[(?P<dir>.*)\]\]", self.wiki, re.IGNORECASE) 114 printdebug("Redirected to... " + m.group("dir")) 112 115 self.load(m.group("dir")) 113 116 … … 199 202 # new cat so reset subcat 200 203 subcat = { 'name':'', 'node':None } 201 printdebug("Reset subcat to None") ;204 printdebug("Reset subcat to None") 202 205 for child in self.children: 203 206 if (child != None): … … 250 253 def parseParts(self, section): 251 254 i = 0 252 optionNames = [ "name", "type", "desc", "default" ] ;255 optionNames = [ "name", "type", "desc", "default" ] 253 256 optionCount = 0 254 257 name = None … … 299 302 p = re.compile(r" ") 300 303 mlink = p.sub("_", mlink) 304 mlink = opts.forLinksUrl + mlink 301 305 value += "[[" + mlink + "|" + mname + "]]" 302 306 i += m.end() … … 378 382 # special case for when there was an error retrieving document 379 383 if self.page.wiki == "": 380 return ;384 return 381 385 382 386 printdebug("Exporting '" + self.page.url + "'") … … 397 401 # have left a subcat so reset 398 402 subcat = { 'name':'', 'node':None } 399 printdebug("Reset subcat to None") ;403 printdebug("Reset subcat to None") 400 404 ## != "Documentation" because in the wiki some people are using it as a general header 401 405 elif self.page.header != "Unheadered" and self.page.header != "Documentation" and self.page.header != subcat['name']: … … 406 410 n.setAttribute('value', subcat['name']) 407 411 parent.appendChild(n) 408 printdebug("Set subcat to " + subcat['name']) ;412 printdebug("Set subcat to " + subcat['name']) 409 413 # if there is a subcat then append to that, otherwise go right to parent 410 414 if subcat['node'] != None: … … 502 506 doc = impl.createDocument(None, "docs", None) 503 507 if opts.verbose != "false": 504 infoNode = doc.createElement("info") ;505 doc.documentElement.appendChild(infoNode) ;508 infoNode = doc.createElement("info") 509 doc.documentElement.appendChild(infoNode) 506 510 page = XMLPage(opts.startingUrl) 507 511 nodeTree = Node.factory(page) … … 511 515 doc.documentElement.setAttribute("version", opts.version) 512 516 if nodeTree == None: 513 errorNode = doc.createElement("error") ;517 errorNode = doc.createElement("error") 514 518 errorNode.appendChild(doc.createTextNode("Error parsing initial page.")) 515 doc.documentElement.appendChild(errorNode) ;519 doc.documentElement.appendChild(errorNode) 516 520 else: 517 521 nodeTree.exportXML(doc.documentElement) -
trunk/tools/wikiapi2xml/README
r4190 r4218 26 26 convert to a string like "<a href='Ajax_Events'>Ajax Events</a>", 27 27 or create an XML node named 'a' with the same information. (defaults to 'html') 28 29 forlinksurl: 30 Value to prepend to any wiki link like 'http://docs.jquery.com/' (defaults to '') 28 31 29 32 verbose:
