# HG changeset patch # User paulb # Date 1095027235 0 # Node ID 367d8d4915c2174d83fd74eb08ca841c82d204fd # Parent 048fa23d683c26c26cbd7a5640997c5a3be7eb18 [project @ 2004-09-12 22:13:55 by paulb] Added nasty hacks to get pydoc to produce documentation. diff -r 048fa23d683c -r 367d8d4915c2 apidocs.py --- a/apidocs.py Sun Sep 12 21:13:48 2004 +0000 +++ b/apidocs.py Sun Sep 12 22:13:55 2004 +0000 @@ -5,6 +5,50 @@ import pydoc import os, sys +_apache = """ +"Placeholder for the real _apache module exported within the server itself." +def log_error(s, x=None): pass +def config_tree(): pass +def server_root(): pass +def mpm_query(i): pass +def parse_qs(s, x): pass +def parse_qsl(s, x): pass +table = None +SERVER_RETURN = None +""" + +http = """ +"Placeholder for javax.servlet.http." +class Cookie: + def __init__(self, *args): + pass +""" + +internet = """ +"Placeholder for javax.mail.internet." +class MimeMessage: + def __init__(self, *args): + pass +""" + +mail = """ +"Placeholder for javax.mail." +class Session: + pass +""" + +util = """ +"Placeholder for java.util." +class Properties: + pass +""" + +net = """ +"Placeholder for java.net." +class URLDecoder: + pass +""" + if __name__ == "__main__": # The list of packages should coincide with that found in setup.py. @@ -13,24 +57,27 @@ "WebStack", "WebStack.__init__", "WebStack.BaseHTTPRequestHandler", "WebStack.CGI", "WebStack.Generic", "WebStack.JavaServlet", "WebStack.ModPython", "WebStack.Twisted", - "WebStack.Webware", + "WebStack.Webware", "WebStack.Zope", "WebStack.Adapters", "WebStack.Adapters.__init__", "WebStack.Adapters.BaseHTTPRequestHandler", "WebStack.Adapters.CGI", - "WebStack.Adapters.Generic", "WebStack.Adapters.JavaServlet", - "WebStack.Adapters.ModPython", "WebStack.Adapters.Twisted", - "WebStack.Adapters.Webware", + "WebStack.Adapters.JavaServlet", "WebStack.Adapters.ModPython", + "WebStack.Adapters.Twisted", "WebStack.Adapters.Webware", + "WebStack.Adapters.Zope", "WebStack.Helpers", "WebStack.Helpers.__init__", "WebStack.Helpers.Auth", "WebStack.Helpers.Environment", "WebStack.Helpers.Request", "WebStack.Helpers.Response", + "WebStack.Helpers.Session", "WebStack.Resources", "WebStack.Resources.__init__", "WebStack.Resources.Login", "WebStack.Resources.LoginRedirect" ] dirname = "apidocs" - # Set the PYTHONPATH to find the package. + # Set the PYTHONPATH to find the WebStack package and others. sys.path.insert(0, os.getcwd()) + sys.path.insert(1, os.path.join(os.path.abspath(".."), "Zope", "lib", "python")) + sys.path.insert(2, os.path.join(os.path.abspath(".."), "Webware")) # Make the documentation directory if necessary. @@ -42,7 +89,71 @@ os.chdir(dirname) + # Fake some modules. + + f = open("_apache.py", "w") + f.write(_apache) + f.close() + + os.mkdir("javax") + f = open(os.path.join("javax", "__init__.py"), "w") + f.close() + + os.mkdir(os.path.join("javax", "servlet")) + f = open(os.path.join("javax", "servlet", "__init__.py"), "w") + f.close() + f = open(os.path.join("javax", "servlet", "http.py"), "w") + f.write(http) + f.close() + + os.mkdir(os.path.join("javax", "mail")) + f = open(os.path.join("javax", "mail", "internet.py"), "w") + f.write(internet) + f.close() + f = open(os.path.join("javax", "mail", "__init__.py"), "w") + f.write(mail) + f.close() + + os.mkdir("java") + f = open(os.path.join("java", "__init__.py"), "w") + f.close() + f = open(os.path.join("java", "util.py"), "w") + f.write(util) + f.close() + f = open(os.path.join("java", "net.py"), "w") + f.write(net) + f.close() + + # Add the faked modules to the path. + + sys.path.insert(0, os.getcwd()) + for name in names: pydoc.writedoc(name, forceload=1) + # Remove the faked modules. + + os.remove("_apache.py") + os.remove("_apache.pyc") + os.remove(os.path.join("javax", "__init__.py")) + os.remove(os.path.join("javax", "__init__.pyc")) + os.remove(os.path.join("javax", "servlet", "__init__.py")) + os.remove(os.path.join("javax", "servlet", "__init__.pyc")) + os.remove(os.path.join("javax", "servlet", "http.py")) + os.remove(os.path.join("javax", "servlet", "http.pyc")) + os.remove(os.path.join("javax", "mail", "internet.py")) + os.remove(os.path.join("javax", "mail", "internet.pyc")) + os.remove(os.path.join("javax", "mail", "__init__.py")) + os.remove(os.path.join("javax", "mail", "__init__.pyc")) + os.remove(os.path.join("java", "__init__.py")) + os.remove(os.path.join("java", "__init__.pyc")) + os.remove(os.path.join("java", "util.py")) + os.remove(os.path.join("java", "util.pyc")) + os.remove(os.path.join("java", "net.py")) + os.remove(os.path.join("java", "net.pyc")) + os.rmdir(os.path.join("javax", "servlet")) + os.rmdir(os.path.join("javax", "mail")) + os.rmdir("javax") + os.rmdir("java") + # vim: tabstop=4 expandtab shiftwidth=4