Bug Tracker

Changeset 4218

Show
Ignore:
Timestamp:
12/18/07 07:36:23 (1 year ago)
Author:
davidserduke
Message:

Added a 'forlinksurl' parameter to prepend to any wiki link.

Location:
trunk/tools/wikiapi2xml
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/tools/wikiapi2xml/createjQueryXMLDocs.py

    r4190 r4218  
    44createjQueryXMLDocs.py 
    55David Serduke 
    6 Version 0.1.4 
    7 Last Modified: Dec. 15, 2007 
     6Version 0.1.5 
     7Last Modified: Dec. 18, 2007 
    88 
    99Python script to convert the jQuery wiki documentation to an XML doc 
     
    2121#   if data != "": 
    2222#     print data 
    23 #   raw_input(msg); 
     23#   raw_input(msg) 
    2424 
    2525def printdebug(msg): 
     
    3636class Callable: 
    3737  def __init__(self, func): 
    38     self.__call__ = func; 
     38    self.__call__ = func 
    3939 
    4040# handle passed in parameters 
     
    4343    form = cgi.FieldStorage() 
    4444 
    45     self.help = "false"; 
     45    self.help = "false" 
    4646    self.supressContentType = "false"  
    4747    self.startingUrl = "API" 
    48     self.exporterUrl = "http://docs.jquery.com/Special:Export"; 
     48    self.exporterUrl = "http://docs.jquery.com/Special:Export" 
     49    self.forLinksUrl = "" 
    4950    self.version = "" 
    5051    self.convertLinks = "html" 
     
    6061    for key in keys: 
    6162      if key == "help": 
    62         self.help = form.getvalue(key); 
     63        self.help = form.getvalue(key) 
    6364      elif key == "supresscontenttype": 
    64         self.supressContentType = form.getvalue(key); 
     65        self.supressContentType = form.getvalue(key) 
    6566      elif key == "start": 
    66         self.startingUrl = form.getvalue(key); 
     67        self.startingUrl = form.getvalue(key) 
    6768      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) 
    6972      elif key == "version": 
    70         self.version = form.getvalue(key); 
     73        self.version = form.getvalue(key) 
    7174      elif key == "convertlinks": 
    7275        self.convertLinks = form.getvalue(key) 
     
    108111    # example "#redirect [[API/1.2/Selectors]] 
    109112    if re.search(r"\#redirect", self.wiki, re.IGNORECASE): 
    110       printdebug("Redirected...") 
    111113      m = re.search(r"\#redirect \[\[(?P<dir>.*)\]\]", self.wiki, re.IGNORECASE) 
     114      printdebug("Redirected to... " + m.group("dir")) 
    112115      self.load(m.group("dir")) 
    113116 
     
    199202    # new cat so reset subcat 
    200203    subcat = { 'name':'', 'node':None } 
    201     printdebug("Reset subcat to None"); 
     204    printdebug("Reset subcat to None") 
    202205    for child in self.children: 
    203206      if (child != None): 
     
    250253  def parseParts(self, section): 
    251254    i = 0 
    252     optionNames = [ "name", "type", "desc", "default" ]; 
     255    optionNames = [ "name", "type", "desc", "default" ] 
    253256    optionCount = 0 
    254257    name = None 
     
    299302          p = re.compile(r" ") 
    300303          mlink = p.sub("_", mlink) 
     304          mlink = opts.forLinksUrl + mlink 
    301305          value += "[[" + mlink + "|" + mname + "]]" 
    302306          i += m.end() 
     
    378382    # special case for when there was an error retrieving document 
    379383    if self.page.wiki == "": 
    380       return; 
     384      return 
    381385 
    382386    printdebug("Exporting '" + self.page.url + "'")  
     
    397401            # have left a subcat so reset 
    398402            subcat = { 'name':'', 'node':None } 
    399             printdebug("Reset subcat to None"); 
     403            printdebug("Reset subcat to None") 
    400404          ## != "Documentation" because in the wiki some people are using it as a general header 
    401405          elif self.page.header != "Unheadered" and self.page.header != "Documentation" and self.page.header != subcat['name']: 
     
    406410            n.setAttribute('value', subcat['name']) 
    407411            parent.appendChild(n) 
    408             printdebug("Set subcat to " + subcat['name']); 
     412            printdebug("Set subcat to " + subcat['name']) 
    409413          # if there is a subcat then append to that, otherwise go right to parent 
    410414          if subcat['node'] != None: 
     
    502506  doc = impl.createDocument(None, "docs", None) 
    503507  if opts.verbose != "false": 
    504     infoNode = doc.createElement("info"); 
    505     doc.documentElement.appendChild(infoNode); 
     508    infoNode = doc.createElement("info") 
     509    doc.documentElement.appendChild(infoNode) 
    506510  page = XMLPage(opts.startingUrl) 
    507511  nodeTree = Node.factory(page) 
     
    511515    doc.documentElement.setAttribute("version", opts.version) 
    512516  if nodeTree == None: 
    513     errorNode = doc.createElement("error"); 
     517    errorNode = doc.createElement("error") 
    514518    errorNode.appendChild(doc.createTextNode("Error parsing initial page.")) 
    515     doc.documentElement.appendChild(errorNode); 
     519    doc.documentElement.appendChild(errorNode) 
    516520  else: 
    517521    nodeTree.exportXML(doc.documentElement) 
  • trunk/tools/wikiapi2xml/README

    r4190 r4218  
    2626    convert to a string like "<a href='Ajax_Events'>Ajax Events</a>",  
    2727    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 '') 
    2831 
    2932  verbose: